VMware {code} Community
timdaley
Contributor
Contributor

truncated responses from requests.

I.m using the simpleclient. I have tried with both --entity HostSystem and --entity VirtualMachine are getting truncated responses. I have altered the die in VICommon.pm at line 2210 to use Dumper to print both the request and response. It seems that response is being chunked and I suppose the code is not properly handling this. Here's the response:

SOAP request error - possibly a protocol issue: $VAR1 = bless( {

                 '_content' => '<?xml version="1.0" encoding="UTF-8"?>

   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

                     xmlns:xsd="http://www.w3.org/2001/XMLSchema"

                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

   <soapenv:Body>

<RetrieveProperties xmlns="urn:vim25"><_this type="PropertyCollector">propertyCollector</_this>

<specSet><propSet><type>VirtualMachine</type><all>0</all></propSet><objectSet><obj type="Folder">group-d1</obj>

<skip>0</skip><selectSet xsi:type="TraversalSpec"><name>folderTraversalSpec</name><type>Folder</type><path>childEntity</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet><selectSet><name>datacenterHostTraversalSpec</name></selectSet><selectSet><name>datacenterVmTraversalSpec</name></selectSet><selectSet><name>datacenterDatastoreTraversalSpec</name></selectSet><selectSet><name>datacenterNetworkTraversalSpec</name></selectSet><selectSet><name>computeResourceRpTraversalSpec</name></selectSet><selectSet><name>computeResourceHostTraversalSpec</name></selectSet><selectSet><name>hostVmTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterDatastoreTraversalSpec</name><type>Datacenter</type><path>datastoreFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterNetworkTraversalSpec</name><type>Datacenter</type><path>networkFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterVmTraversalSpec</name><type>Datacenter</type><path>vmFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterHostTraversalSpec</name><type>Datacenter</type><path>hostFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceHostTraversalSpec</name><type>ComputeResource</type><path>host</path><skip>0</skip></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceRpTraversalSpec</name><type>ComputeResource</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolTraversalSpec</name><type>ResourcePool</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>hostVmTraversalSpec</name><type>HostSystem</type><path>vm</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolVmTraversalSpec</name><type>ResourcePool</type><path>vm</path><skip>0</skip></selectSet></objectSet></specSet></RetrieveProperties></soapenv:Body></soapenv:Envelope>

',

                 '_uri' => bless( do{\(my $o = 'https://vc.net.ccci.org:443/sdk/webService')}, 'URI::https' ),

                 '_headers' => bless( {

                                        'cookie2' => '$Version="1"',

                                        'user-agent' => 'VI Perl',

                                        'soapaction' => '"urn:vim25/test"',

                                        'content-type' => 'text/xml',

                                        'cookie' => 'vmware_soap_session="525eab47-2416-2cb5-ba1f-dc0b1c8d3072"',

                                        'content-length' => 3141,

                                        '::std_case' => {

                                                          'cookie2' => 'Cookie2',

                                                          'soapaction' => 'SOAPAction',

                                                          'cookie' => 'Cookie',

                                                          'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'

                                                        }

                                      }, 'HTTP::Headers' ),

                 '_method' => 'POST',

                 '_uri_canonical' => bless( do{\(my $o = 'https://vc.net.ccci.org/sdk/webService')}, 'URI::https' )

               }, 'HTTP::Request' );

$VAR1 = bless( {

                 '_protocol' => 'HTTP/1.1',

                 '_content' => '<?xml version="1.0" encoding="UTF-8"?>

<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soapenv:Body>

<RetrievePropertiesResponse xmlns="urn:vim25"><returnval><obj type="VirtualMachine">vm-40013</obj></returnval><returnval><obj type="VirtualMachine">vm-25530</obj></returnval><returnval><obj type="VirtualMachine">vm-105364</obj></returnval><returnval><obj type="VirtualMachine">vm-25531</obj></returnval><returnval><obj type="VirtualMachine">vm-92618</obj></returnval><returnval><obj type="VirtualMachine">vm-25527</obj></returnval><returnval><obj type="VirtualMachine">vm-48466</obj></returnval><returnval><obj type="VirtualMachine">vm-107170</obj></returnval><returnval><obj type="VirtualMachine">vm-26066</obj></returnval><returnval><obj type="VirtualMachine">vm-99131</obj></returnval><returnval><obj type="VirtualMachine">vm-25528</obj></returnval><returnval><obj type="VirtualMachine">vm-25532</obj></returnval><returnval><obj type="VirtualMachine">vm-102860</obj></returnval><returnval><obj type="VirtualMachine">vm-102848</obj></returnval><returnval><obj type="VirtualMachine">vm-102442</obj></returnval><returnval><obj type="VirtualMachine">vm-102862</obj></returnval><returnval><obj type="VirtualMachine">vm-25529</obj></returnval><returnval><obj type="VirtualMachine">vm-107348</obj></returnval><returnval><obj type="VirtualMachine">vm-102265</obj></returnval><returnval><obj type="VirtualMachine">vm-25357</obj></returnval><returnval><obj type="VirtualMachine">vm-111712</obj></returnval><returnval><obj type="VirtualMachine">vm-25355</obj></returnval><returnval><obj type="VirtualMachine">vm-37062</obj></returnval><returnval><obj type="VirtualMachine">vm-25359</obj></returnval><returnval><obj type="VirtualMachine">vm-25367</obj></returnval><returnval><obj type="VirtualMachine">vm-68331</obj></returnval><returnval><obj type="VirtualMachine">vm-26160</obj></returnval><returnval><obj type="VirtualMachine">vm-25369</obj></returnval><returnval><obj type="VirtualMachine">vm-25366</obj></returnval><returnval><obj type="VirtualMachine">vm-25362</obj></returnval><returnval><obj type="VirtualMachine">vm-69659</obj></returnval><returnval><obj type="VirtualMachine">vm-70083</obj></returnval><returnval><obj type="VirtualMachine">vm-112089</obj></returnval><returnval><obj type="VirtualMachine">vm-2440</obj></returnval><returnval><obj type="VirtualMachine">vm-1145</obj></returnval><returnval><obj type="VirtualMachine">vm-750</obj></returnval><returnval><obj type="VirtualMachine">vm-25672</obj></returnval><returnval><obj type="VirtualMachine">vm-25667</obj></returnval><returnval><obj type="VirtualMachine">vm-25681</obj></returnval><returnval><obj type="VirtualMachine">vm-25685</obj></returnval><returnval><obj type="VirtualMachine">vm-783</obj></returnval><returnval><obj type="VirtualMachine">vm-934</obj></returnval><returnval><obj type="VirtualMachine">vm-24940</obj></returnval><returnval><obj type="VirtualMachine">vm-24939</obj></returnval><returnval><obj type="VirtualMachine">vm-24937</obj></returnval><returnval><obj type="VirtualMachine">vm-24935</obj></returnval><returnval><obj type="VirtualMachine">vm-24938</obj></returnval><returnval><obj type="VirtualMachine">vm-24932</obj></returnval><returnval><obj type="VirtualMachine">vm-24936</obj></returnval><returnval><obj type="VirtualMachine">vm-24900</obj></returnval><returnval><obj type="VirtualMachine">vm-24902</obj></returnval><returnval><obj type="VirtualMachine">vm-24895</obj></returnval><returnval><obj type="VirtualMachine">vm-943</obj></returnval><returnval><obj type="VirtualMachine">vm-24525</obj></returnval><returnval><obj type="VirtualMachine">vm-66240</obj></returnval><returnval><obj type="VirtualMachine">vm-1051</obj></returnval><returnval><obj type="VirtualMachine">vm-705</obj></returnval><returnval><obj type="VirtualMachine">vm-733</obj></returnval><returnval><obj type="VirtualMachine">vm-806</obj></returnval><returnval><obj type="VirtualMachine">vm-24898</obj></returnval><returnval><obj type="VirtualMachine">vm-24427</obj></returnval><returnval><obj type="VirtualMachine">vm-48293</obj></returnval><returnval><obj type="VirtualMachine">vm-24894</obj></returnval><returnval><obj type="VirtualMachine">vm-26194</obj></returnval><returnval><obj type="VirtualMachine">vm-24533</obj></returnval><returnval><obj type="VirtualMachine">vm-25106</obj></returnval><returnval><obj type="VirtualMachine">vm-24896</obj></returnval><returnval><obj type="VirtualMachine">vm-24904</obj></returnval><returnval><obj type="VirtualMachine">vm-24897</obj></returnval><returnval><obj type="VirtualMachine">vm-24899</obj></returnval><returnval><obj type="VirtualMachine">vm-34196</obj></returnval><returnval><obj type="VirtualMachine">vm-24903</obj></returnval><returnval><obj type="VirtualMachine">vm-24521</obj></returnval><returnval><obj type="VirtualMachine">vm-72462</obj></returnval><returnval><obj type="VirtualMachine">vm-875</obj></returnval><returnval><obj type="VirtualMachine">vm-83084</obj></returnval><returnval><obj type="VirtualMachine">vm-677</obj></returnval><returnval><obj type="VirtualMachine">vm-92619</obj></returnval><returnval><obj type="VirtualMachine">vm-24887</obj></returnval><returnval><obj type="VirtualMachine">vm-1141</obj></returnval><returnval><obj type="VirtualMachine">vm-1019</obj></returnval><returnval><obj type="VirtualMachine">vm-928</obj></returnval><returnval><obj type="VirtualMachine">vm-1029</obj></returnval><returnval><obj type="VirtualMachine">vm-47251</obj></returnval><returnval><obj type="VirtualMachine">vm-25164</obj></returnval><returnval><obj type="VirtualMachine">vm-25163</obj></returnval><returnval><obj type="VirtualMachine">vm-723</obj></returnval><returnval><obj type="VirtualMachine">vm-1345</obj></returnval><returnval><obj type="VirtualMachine">vm-24943</obj></returnval><returnval><obj type="VirtualMachine">vm-1027</obj></returnval><returnval><obj type="VirtualMachine">vm-25621</obj></returnval><returnval><obj type="VirtualMachine">vm-820</obj></returnval><returnval><obj type="VirtualMachine">vm-960</obj></returnval><returnval><obj type="VirtualMachine">vm-945</obj></returnval><returnval><obj type="VirtualMachine">vm-779</obj></returnval><returnval><obj type="VirtualMachine">vm-810</obj></returnval><returnval><obj type="VirtualMachine">vm-79693</obj></returnval><returnval><obj type="VirtualMachine">vm-79697</obj></returnval><returnval><obj type="VirtualMachine">vm-1071</obj></returnval><returnval><obj type="VirtualMachine">vm-106352</obj></returnval><returnval><obj type="VirtualMachine">vm-741</obj></returnval><returnval><obj type="VirtualMachine">vm-24672</obj></returnval><returnval><obj type="VirtualMachine">vm-756</obj></returnval><returnval><obj type="VirtualMachine">vm-24675</obj></returnval><returnval><obj type="VirtualMachine">vm-24386</obj></returnval><returnval><obj type="VirtualMachine">vm-828</obj></returnval><returnval><obj type="VirtualMachine">vm-1015</obj></returnval><returnval><obj type="VirtualMachine">vm-26670</obj></returnval><returnval><obj type="VirtualMachine">vm-25804</obj></returnval><returnval><obj type="VirtualMachine">vm-26733</obj></returnval><returnval><obj type="VirtualMachine">vm-25807</obj></returnval><returnval><obj type="VirtualMachine">vm-25728</obj></returnval><returnval><obj type="VirtualMachine">vm-1046</obj></returnval><returnval><obj type="VirtualMachine">vm-25251</obj></returnval><returnval><obj type="VirtualMachine">vm-1000</obj></returnval><returnval><obj type="VirtualMachine">vm-25175</obj></returnval><returnval><obj type="VirtualMachine">vm-762</obj></returnval><returnval><obj type="VirtualMachine">vm-987</obj></returnval><returnval><obj type="VirtualMachine">vm-26370</obj></returnval><returnval><obj type="VirtualMachine">vm-25249</obj></returnval><returnval><obj type="VirtualMachine">vm-25248</obj></returnval><returnval><obj type="VirtualMachine">vm-25247</obj></returnval><returnval><obj type="VirtualMachine">vm-25250</obj></returnval><returnval><obj type="VirtualMachine">vm-24535</obj></returnval><returnval><obj type="VirtualMachine">vm-996</obj></returnval><returnval><obj type="VirtualMachine">vm-1017</obj></returnval><returnval><obj type="VirtualMachine">vm-956</obj></returnval><returnval><obj type="VirtualMachine">vm-1206</obj></returnval><returnval><obj type="VirtualMachine">vm-24888</obj></returnval><returnval><obj type="VirtualMachine">vm-939</obj></returnval><returnval><obj type="VirtualMachine">vm-1208</obj></returnval><returnval><obj type="VirtualMachine">vm-1143</obj></returnval><returnval><obj type="VirtualMachine">vm-746</obj></returnval><returnval><obj type="VirtualMachine">vm-1204</obj></returnval><returnval><obj type="VirtualMachine">vm-95349</obj></returnval><returnval><obj type="VirtualMachine">vm-681</obj></returnval><returnval><obj type="VirtualMachine">vm-25952</obj></returnval><returnval><obj type="VirtualMachine">vm-25961</obj></returnval><returnval><obj type="VirtualMachine">vm-25948</obj></returnval><returnval><obj type="VirtualMachine">vm-25925</obj></returnval><returnval><obj type="VirtualMachine">vm-26762</obj></returnval><returnval><obj type="VirtualMachine">vm-25960</obj></returnval><returnval><obj type="VirtualMachine">vm-26764</obj></returnval><returnval><obj type="VirtualMachine">vm-26743</obj></returnval><returnval><obj type="VirtualMachine">vm-26746</obj></returnval><returnval><obj type="VirtualMachine">vm-25949</obj></returnval><returnval><obj type="VirtualMachine">vm-25959</obj></returnval><returnval><obj type="VirtualMachine">vm-25951</obj></returnval><returnval><obj type="VirtualMachine">vm-26688</obj></returnval><returnval><obj type="VirtualMachine">vm-25834</obj></returnval><returnval><obj type="VirtualMachine">vm-25958</obj></returnval><returnval><obj type="VirtualMachine">vm-26763</obj></returnval><returnval><obj type="VirtualMachine">vm-1057</obj></returnval><returnval><obj type="VirtualMachine">vm-26852</obj></returnval><returnval><obj type="VirtualMachine">vm-25665</obj></returnval><returnval><obj type="VirtualMachine">vm-25655</obj></returnval><returnval><obj type="VirtualMachine">vm-25693</obj></returnval><returnval><obj type="VirtualMachine">vm-25687</obj></returnval><returnval><obj type="VirtualMachine">vm-25662</obj></returnval><returnval><obj type="VirtualMachine">vm-25690</obj></returnval><returnval><obj type="VirtualMachine">vm-25668</obj></returnval><returnval><obj type="VirtualMachine">vm-25368</obj></returnval><returnval><obj type="VirtualMachine">vm-11231</obj></returnval><returnval><obj type="VirtualMachine">vm-70085</obj></returnval><returnval><obj type="VirtualMachine">vm-25670</obj></returnval><returnval><obj type="VirtualMachine">vm-90142</obj></returnval><returnval><obj type="VirtualMachine">vm-80809</obj></returnval><returnval><obj type="VirtualMachine">vm-85751</obj></returnval><returnval><obj type="VirtualMachine">vm-1247</obj></returnval><returnval><obj type="VirtualMachine">vm-111323</obj></returnval><returnval><obj type="VirtualMachine">vm-6207</obj></returnval><returnval><obj type="VirtualMachine">vm-70080</obj></returnval><returnval><obj type="VirtualMachine">vm-25656</obj></returnval><returnval><obj type="VirtualMachine">vm-11226</obj></returnval><returnval><obj type="VirtualMachine">vm-27665</obj></returnval><returnval><obj type="VirtualMachine">vm-27671</obj></returnval><returnval><obj type="VirtualMachine">vm-85754</obj></returnval><returnval><obj type="VirtualMachine">vm-25666</obj></returnval><returnval><obj type="VirtualMachine">vm-5749</obj></returnval><returnval><obj type="VirtualMachine">vm-70084</obj></returnval><returnval><obj type="VirtualMachine">vm-70081</obj></returnval><returnval><obj type="VirtualMachine">vm-25703</obj></returnval><returnval><obj type="VirtualMachine">vm-101014</obj></returnval><returnval><obj type="VirtualMachine">vm-1245</obj></returnval><returnval><obj type="VirtualMachine">vm-85753</obj></returnval><returnval><obj type="VirtualMachine">vm-111055</obj></returnval><returnval><obj type="VirtualMachine">vm-25677</obj></returnval><returnval><obj type="VirtualMachine">vm-6211</obj></returnval><returnval><obj type="VirtualMachine">vm-25694</obj></returnval><returnval><obj type="VirtualMachine">vm-11218</obj></returnval><returnval><obj type="VirtualMachine">vm-90143</obj></returnval><returnval><obj type="VirtualMachine">vm-80810</obj></returnval><returnval><obj type="VirtualMachine">vm-85750</obj></returnval><returnval><obj type="VirtualMachine">vm-25702</obj></returnval><returnval><obj type="VirtualMachine">vm-25695</obj></returnval><returnval><obj type="VirtualMachine">vm-25680</obj></returnval><returnval><obj type="VirtualMachine">vm-6150</obj></returnval><returnval><obj type="VirtualMachine">vm-11224</obj></returnval><returnval><obj type="VirtualMachine">vm-25340</obj></returnval><returnval><obj type="VirtualMachine">vm-982</obj></returnval><returnval><obj type="VirtualMachine">vm-918</obj></returnval><returnval><obj type="VirtualMachine">vm-688</obj></returnval><returnval><obj type="VirtualMachine">vm-27698</obj></returnval><returnval><obj type="VirtualMachine">vm-26475</obj></returnval><returnval><obj type="VirtualMachine">vm-871</obj></returnval><returnval><obj type="VirtualMachine">vm-25336</obj></returnval><returnval><obj type="VirtualMachine">vm-94279</obj></returnval><returnval><obj type="VirtualMachine">vm-994</obj></returnval><returnval><obj type="VirtualMachine">vm-808</obj></returnval><returnval><obj type="VirtualMachine">vm-907</obj></returnval><returnval><obj type="VirtualMachine">vm-89766</obj></returnval><returnval><obj type="VirtualMachine">vm-89768</obj></returnval><returnval><obj type="VirtualMachine">vm-803</obj></returnval><returnval><obj type="VirtualMachine">vm-3652</obj></returnval><returnval><obj type="VirtualMachine">vm-24748</obj></returnval><returnval><obj type="VirtualMachine">vm-830</obj></returnval><returnval><obj type="VirtualMachine">vm-3689</obj></returnval><returnval><obj type="VirtualMachine">vm-1202</obj></returnval><returnval><obj type="VirtualMachine">vm-110762</obj></returnval><returnval><obj type="VirtualMachine">vm-818</obj></returnval><returnval><obj type="VirtualMachine">vm-832</obj></returnval><returnval><obj type="VirtualMachine">vm-42888</obj></returnval><returnval><obj type="VirtualMachine">vm-96597</obj></returnval><returnval><obj type="VirtualMachine">vm-801</obj></returnval><returnval><obj type="VirtualMachine">vm-1180</obj></returnval><returnval><obj type="VirtualMachine">vm-690</obj></returnval><returnval><obj type="VirtualMachine">vm-25242</obj></returnval><returnval><obj type="VirtualMachine">vm-1182</obj></returnval><returnval><obj type="VirtualMachine">vm-107358</obj></returnval><returnval><obj type="VirtualMachine">vm-785</obj></returnval><returnval><obj type="VirtualMachine">vm-51408</obj></returnval><returnval><obj type="VirtualMachine">vm-110761</obj></returnval><returnval><obj type="VirtualMachine">vm-1110</obj></returnval><returnval><obj type="VirtualMachine">vm-105562</obj></returnval><returnval><obj type="VirtualMachine">vm-108569</obj></returnval><returnval><obj type="VirtualMachine">vm-101894</obj></returnval><returnval><obj type="VirtualMachine">vm-105560</obj></returnval><returnval><obj type="VirtualMachine">vm-1043</obj></returnval><returnval><obj type="VirtualMachine">vm-1055</obj></returnval><returnval><obj type="VirtualMachine">vm-96969</obj></returnval><returnval><obj type="VirtualMachine">vm-52028</obj></returnval><returnval><obj type="VirtualMachine">vm-7777</obj></returnval><returnval><obj type="VirtualMachine">vm-26094</obj></returnval><returnval><obj type="VirtualMachine">vm-25763</obj></returnval><returnval><obj type="VirtualMachine">vm-1218</obj></returnval><returnval><obj type="VirtualMachine">vm-1154</obj></returnval><returnval><obj type="VirtualMachine">vm-26922</obj></returnval><returnval><obj type="VirtualMachine">vm-25678</obj></returnval><returnval><obj type="VirtualMachine">vm-7775</obj></returnval><returnval><obj type="VirtualMachine">vm-1053</obj></returnval><returnval><obj type="VirtualMachine">vm-26035</obj></returnval><returnval><obj type="VirtualMachine">vm-26167</obj></returnval><returnval><obj type="VirtualMachine">vm-1130</obj></returnval><returnval><obj type="VirtualMachine">vm-26025</obj></returnval><returnval><obj type="VirtualMachine">vm-26269</obj></returnval><returnval><obj type="VirtualMachine">vm-25914</obj></returnval><returnval><obj type="VirtualMachine">vm-1165</obj></returnval><returnval><obj type="VirtualMachine">vm-50670</obj></returnval><returnval><obj type="VirtualMachine">vm-25673</obj></returnval><returnval><obj typ',

                 '_rc' => '200',

                 '_headers' => bless( {

                                        'connection' => 'Keep-Alive',

                                        'cache-control' => 'no-cache',

                                        'date' => 'Fri, 20 Dec 2013 18:39:58 GMT',

                                        'client-ssl-cert-issuer' => '/O=VMware Installer',

                                        'client-ssl-cipher' => 'AES256-SHA',

                                        'client-peer' => '10.10.11.11:443',

                                        'client-date' => 'Fri, 20 Dec 2013 18:42:58 GMT',

                                        'x-died' => '-->1 at ./buildPasswordTable line 12.',

                                        'client-ssl-warning' => 'Peer certificate not verified',

                                        'content-type' => 'text/xml; charset=utf-8',

                                        'client-transfer-encoding' => [

                                                                        'chunked'

                                                                      ],

                                        'client-ssl-socket-class' => 'Net::SSL',

                                        'client-response-num' => 2,

                                        '::std_case' => {

                                                          'set-cookie' => 'Set-Cookie',

                                                          'client-response-num' => 'Client-Response-Num',

                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',

                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',

                                                          'client-peer' => 'Client-Peer',

                                                          'client-aborted' => 'Client-Aborted',

                                                          'set-cookie2' => 'Set-Cookie2',

                                                          'client-date' => 'Client-Date',

                                                          'x-died' => 'X-Died',

                                                          'client-ssl-warning' => 'Client-SSL-Warning',

                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',

                                                          'client-transfer-encoding' => 'Client-Transfer-Encoding',

                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class'

                                                        },

                                        'client-aborted' => 'die',

                                        'client-ssl-cert-subject' => '/O=VMware, Inc./OU=VMware, Inc./CN=VMware default certificate/emailAddress=support@vmware.com'

                                      }, 'HTTP::Headers' ),

                 '_msg' => 'OK',

                 '_request' => bless( {

                                        '_content' => '<?xml version="1.0" encoding="UTF-8"?>

   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

                     xmlns:xsd="http://www.w3.org/2001/XMLSchema"

                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

   <soapenv:Body>

<RetrieveProperties xmlns="urn:vim25"><_this type="PropertyCollector">propertyCollector</_this>

<specSet><propSet><type>VirtualMachine</type><all>0</all></propSet><objectSet><obj type="Folder">group-d1</obj>

<skip>0</skip><selectSet xsi:type="TraversalSpec"><name>folderTraversalSpec</name><type>Folder</type><path>childEntity</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet><selectSet><name>datacenterHostTraversalSpec</name></selectSet><selectSet><name>datacenterVmTraversalSpec</name></selectSet><selectSet><name>datacenterDatastoreTraversalSpec</name></selectSet><selectSet><name>datacenterNetworkTraversalSpec</name></selectSet><selectSet><name>computeResourceRpTraversalSpec</name></selectSet><selectSet><name>computeResourceHostTraversalSpec</name></selectSet><selectSet><name>hostVmTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterDatastoreTraversalSpec</name><type>Datacenter</type><path>datastoreFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterNetworkTraversalSpec</name><type>Datacenter</type><path>networkFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterVmTraversalSpec</name><type>Datacenter</type><path>vmFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterHostTraversalSpec</name><type>Datacenter</type><path>hostFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceHostTraversalSpec</name><type>ComputeResource</type><path>host</path><skip>0</skip></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceRpTraversalSpec</name><type>ComputeResource</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolTraversalSpec</name><type>ResourcePool</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>hostVmTraversalSpec</name><type>HostSystem</type><path>vm</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolVmTraversalSpec</name><type>ResourcePool</type><path>vm</path><skip>0</skip></selectSet></objectSet></specSet></RetrieveProperties></soapenv:Body></soapenv:Envelope>

',

                                        '_uri' => bless( do{\(my $o = 'https://vc.net.ccci.org:443/sdk/webService')}, 'URI::https' ),

                                        '_headers' => bless( {

                                                               'cookie2' => '$Version="1"',

                                                               'user-agent' => 'VI Perl',

                                                               'soapaction' => '"urn:vim25/test"',

                                                               'content-type' => 'text/xml',

                                                               'cookie' => 'vmware_soap_session="525eab47-2416-2cb5-ba1f-dc0b1c8d3072"',

                                                               'content-length' => 3141,

                                                               '::std_case' => {

                                                                                 'cookie2' => 'Cookie2',

                                                                                 'soapaction' => 'SOAPAction',

                                                                                 'cookie' => 'Cookie',

                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'

                                                                               }

                                                             }, 'HTTP::Headers' ),

                                        '_method' => 'POST',

                                        '_uri_canonical' => bless( do{\(my $o = 'https://vc.net.ccci.org/sdk/webService')}, 'URI::https' )

                                      }, 'HTTP::Request' )

               }, 'HTTP::Response' );

0 Kudos
6 Replies
timdaley
Contributor
Contributor

I ran a similar test with --entity HostSystem. The response header reported a length of 1456, but the content of the response had a length of only 858 and in this case I didn't see client-transfer-encoding entry. What's going on?

0 Kudos
stumpr
Virtuoso
Virtuoso

I ran SimpleClient against 250 hosts, it was slow of course (the simple client does no property restrictions), but it ran without error.

Are you on a multi-byte (Unicode) environment?  Do you go through an http(s) proxy?

Reuben Stump | http://www.virtuin.com | @ReubenStump
0 Kudos
Carmageddon
Contributor
Contributor

I have a very similar problem!

We have an older server, running the VMware VI SDK for Perl in older version (about 3 years old).

That server is currently in production and works, it has the following modules:

[root@vmgw02 ~]# rpm -qa | grep perl | sort

perl-5.8.8-32.el5_5.1

perl-Compress-Zlib-1.42-1.fc6

perl-Crypt-SSLeay-0.51-11.el5

perl-DBD-MySQL-3.0007-2.el5

perl-DBD-Pg-1.49-2.el5_3.1

perl-DBI-1.52-2.el5

perl-Digest-HMAC-1.01-15

perl-Digest-SHA1-2.11-1.2.1

perl-File-Type-0.22-3.el5

perl-HTML-Parser-3.55-1.fc6

perl-HTML-Tagset-3.10-2.1.1

perl-IO-Socket-INET6-2.51-2.fc6

perl-IO-Socket-SSL-1.01-1.fc6

perl-libwww-perl-5.805-1.1.1

perl-libxml-perl-0.08-1.2.1

perl-MailTools-1.77-1.el5.centos

perl-MIME-Lite-3.01-5.el5

perl-Net-SSLeay-1.30-4.fc6

perl-Socket6-0.19-3.fc6

perl-String-CRC32-1.4-2.fc6

perl-TermReadKey-2.30-4.el5

perl-TimeDate-1.16-5.el5

perl-URI-1.35-3

perl-XML-Parser-2.34-6.1.2.2.1

The new server, with the updated SDK:

[root@tcc1-dns ~]# rpm -qa | grep perl | sort

perl-5.8.8-27.el5

perl-DBD-MySQL-3.0007-2.el5

perl-DBI-1.52-2.el5

perl-String-CRC32-1.4-2.fc6

I isolated our problem to be reproducible using the /usr/lib/vmware-vcli/apps/vm/vmcontrol.pl using a  --operation reset

In Perl debugging, I can see that It does a SOAP request (which looks complete), and then gets a very long response, but malformed - the XML body is cut off, and the following header is added to the response object, when I do x $response in debugger (Please note RetrievePropertiesResponse  has a really loooong output, I cut it off to protect the data - but I left the structure showing how XML is cut in the end😞

In:

SoapClient::request(/usr/lib/perl5/5.8.8/VMware/VICommon.pm:2207):

  DB<2> x $response

0  HTTP::Response=HASH(0x14d133e0)

   '_content' => '<?xml version="1.0" encoding="UTF-8"?>

<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soapenv:Body>

<RetrievePropertiesResponse xmlns="urn:vim25"><returnval><obj type="VirtualMachine">vm-212827</obj><propSet><name>name</name><val xsi:type="xsd:string">PPA (87030acc-1eee-483e-8952-7bc1ba23515f)</val></propSet></returnval><returnval><obj type="VirtualMachine">vm-246541</obj><propSet><name>name</name><val xsi:type="xsd:string">SAP-VM2 (2264bf74-ff16-4788-b822-7e248f42d540)</val></propSet></returnval><re'

   '_headers' => HTTP::Headers=HASH(0x14d131f0)

      '::std_case' => HASH(0x14d13180)

         'client-aborted' => 'Client-Aborted'

         'client-date' => 'Client-Date'

         'client-peer' => 'Client-Peer'

         'client-response-num' => 'Client-Response-Num'

         'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'

         'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject'

         'client-ssl-cipher' => 'Client-SSL-Cipher'

         'client-ssl-socket-class' => 'Client-SSL-Socket-Class'

         'client-ssl-warning' => 'Client-SSL-Warning'

         'client-transfer-encoding' => 'Client-Transfer-Encoding'

         'set-cookie' => 'Set-Cookie'

         'set-cookie2' => 'Set-Cookie2'

        'x-died' => 'X-Died'

      'cache-control' => 'no-cache'

      'client-aborted' => 'die'

      'client-date' => 'Tue, 31 Dec 2013 15:16:59 GMT'

      'client-peer' => '1.1.1.4:443'

      'client-response-num' => 2

      'client-ssl-cert-issuer' => '/O=VMware Installer'

      'client-ssl-cert-subject' => '/O=VMware, Inc./OU=VMware, Inc./CN=VMware default certificate/emailAddress=support@vmware.com'

      'client-ssl-cipher' => 'AES256-SHA'

      'client-ssl-socket-class' => 'Net::SSL'

      'client-ssl-warning' => 'Peer certificate not verified'

      'client-transfer-encoding' => ARRAY(0x12d47140)

         0  'chunked'

      'connection' => 'Keep-Alive'

      'content-type' => 'text/xml; charset=utf-8'

      'date' => 'Tue, 31 Dec 2013 15:16:38 GMT'

      'x-died' => 'read timeout at /usr/lib/perl5/site_perl/5.8.8/Net/HTTP/Methods.pm line 236.'

   '_msg' => 'OK'

   '_protocol' => 'HTTP/1.1'

   '_rc' => 200

   '_request' => HTTP::Request=HASH(0x14d4fb90)

      '_content' => '<?xml version="1.0" encoding="UTF-8"?>

   <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

                     xmlns:xsd="http://www.w3.org/2001/XMLSchema"

                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

   <soapenv:Body>

<RetrieveProperties xmlns="urn:vim25"><_this type="PropertyCollector">propertyCollector</_this>

<specSet><propSet><type>VirtualMachine</type><all>0</all><pathSet>name</pathSet></propSet><objectSet><obj type="Folder">group-d1</obj>

<skip>0</skip><selectSet xsi:type="TraversalSpec"><name>folderTraversalSpec</name><type>Folder</type><path>childEntity</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet><selectSet><name>datacenterHostTraversalSpec</name></selectSet><selectSet><name>datacenterVmTraversalSpec</name></selectSet><selectSet><name>datacenterDatastoreTraversalSpec</name></selectSet><selectSet><name>datacenterNetworkTraversalSpec</name></selectSet><selectSet><name>computeResourceRpTraversalSpec</name></selectSet><selectSet><name>computeResourceHostTraversalSpec</name></selectSet><selectSet><name>hostVmTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterDatastoreTraversalSpec</name><type>Datacenter</type><path>datastoreFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterNetworkTraversalSpec</name><type>Datacenter</type><path>networkFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterVmTraversalSpec</name><type>Datacenter</type><path>vmFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>datacenterHostTraversalSpec</name><type>Datacenter</type><path>hostFolder</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceHostTraversalSpec</name><type>ComputeResource</type><path>host</path><skip>0</skip></selectSet><selectSet xsi:type="TraversalSpec"><name>computeResourceRpTraversalSpec</name><type>ComputeResource</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolTraversalSpec</name><type>ResourcePool</type><path>resourcePool</path><skip>0</skip><selectSet><name>resourcePoolTraversalSpec</name></selectSet><selectSet><name>resourcePoolVmTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>hostVmTraversalSpec</name><type>HostSystem</type><path>vm</path><skip>0</skip><selectSet><name>folderTraversalSpec</name></selectSet></selectSet><selectSet xsi:type="TraversalSpec"><name>resourcePoolVmTraversalSpec</name><type>ResourcePool</type><path>vm</path><skip>0</skip></selectSet></objectSet></specSet></RetrieveProperties></soapenv:Body></soapenv:Envelope>

'

      '_headers' => HTTP::Headers=HASH(0x14d4fa60)

         '::std_case' => HASH(0x14d4fbb0)

            'cookie' => 'Cookie'

            'cookie2' => 'Cookie2'

            'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'

            'soapaction' => 'SOAPAction'

         'content-length' => 3164

         'content-type' => 'text/xml'

         'cookie' => 'vmware_soap_session="52981bc0-8697-558d-4f6e-9588b76021c6"'

         'cookie2' => '$Version="1"'

         'soapaction' => '"urn:vim25/test"'

         'user-agent' => 'VI Perl'

      '_method' => 'POST'

      '_uri' => URI::https=SCALAR(0x14cc0560)

         -> 'https://1.1.1.4:443/sdk/webService'

      '_uri_canonical' => URI::https=SCALAR(0x14cc5320)

         -> 'https://1.1.1.4/sdk/webService'

I did further tests: When I clone the old (production) machine, and boot the clone with the IP of the new machine - the scripts work (meaning its not firewall or network issue).

From my check with Perl, the timeout on HTTP::Request module's underlying modules, is 0 by default (no timeout), and anyway I have ruled out network issue as the cause.

EDIT: The trigger is

my $vm_views = VMUtils::get_vms ('VirtualMachine', $vm_name,

                      $datacenter, $folder, $pool, $host, %filterHash);

line 95 in /usr/lib/vmware-vcli/apps/vm/vmcontrol.pl, all calls including connect pass successfully before hand.

Please, can anyone give me some hints into the possible cause?

Thanks!

0 Kudos
Carmageddon
Contributor
Contributor

To anyone interested, we have isolated the source of the problem:

Package LWP::UserAgent in version 6.05 is bugged and causing the issue.

Upgrade to 6.06 is not helping, because VMware SDK uses Net::SSL instead of Crypt::SSLeay (or something like that, more details here: https://rt.cpan.org/Public/Bug/Display.html?id=81684)

Our solution was to downgrade the LWP::UserAgent package to 5.85 I think, and then everything works again Smiley Happy

If anyone manages to get it working on newer version, allowing to upgrade packages without fear - I'd like to hear.

I hope this information helps someone.

0 Kudos
stumpr
Virtuoso
Virtuoso

I have been using MacOS 10.9.1, which has LWP::UserAgent 6.04 without issues so far.

Reuben Stump | http://www.virtuin.com | @ReubenStump
0 Kudos
Carmageddon
Contributor
Contributor

well, for me the problem was 100% with the module version under Centos 5.8.

And as the guy at the CPAN bug report said, FreeBSD installations are also affected by this.

I guess MAC fanboys are lucky this time around :smileysilly:

0 Kudos