Hi, all,
 
I am the beginner to use suds.
 
Now I encoutnter one problem when using suds to send operation request to VMWare VSphere Server.  May I get your help on this issue.
 
I couldnt' use suds to construct the argument to be used by VMWare ESX functton "RetrieveServiceContent".
 
The parameter xml should be "<_this type="ServiceInstance">ServiceInstance</_this>". 
 
How can I use suds to construct this kind of function parameter?
 
 
I pasted my script, error output, wsdl.  Here
 
 
 
~~~~~~~~~~~~~~~~~~~~-Python Script begin-------------------------------------------------------------
url = 'https://10.204.211.1/sdk/vimService.wsdl'
#start(url)
client = Client(url)
#print client
client.set_options(location='https://10.204.211.1/sdk')
mor=client.factory.create('ns0:ManagedObjectReference')
mor._type='ServiceInstance'
_sjc=client.service.RetrieveServiceContent(mor)
print _sjc
~~~~~~~~~~~~~~~~~~~~Python script end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~Error Msg begin~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(ManagedObjectReference){
   _type = ""
 }
DEBUG:suds.client:sending to (https://10.204.211.1/sdk)
message:
<SOAP-ENV:Envelope xmlns:ns0="urn:vim25" xmlns:xsi="http://www.w3.org/2001/XMLSc
hema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns0:RetrieveServiceContent>
         <ns0:_this xsi:type="ServiceInstance"/>
      </ns0:RetrieveServiceContent>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
DEBUG:suds.client:headers = {'SOAPAction': u'"urn:vim25/4.0"', 'Content-Type': '
text/xml'}
ERROR:suds.client:<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="urn:vim25" xmlns:xsi="http://www.w3.org/2001/XMLSc
hema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns0:RetrieveServiceContent>
         <ns0:_this xsi:type="ServiceInstance"/>
      </ns0:RetrieveServiceContent>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
DEBUG:suds.client:http failed:
<?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>
<soapenv:Fault><faultcode>ServerFaultCode</faultcode><faultstring>type</faultstr
ing><detail><InvalidRequestFault xmlns="urn:vim25" xsi:type="InvalidRequest"></I
nvalidRequestFault></detail></soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Traceback (most recent call last):
  File "C:\Project\wsdl\test.py", line 42, in <module>
    _sjc=client.service.RetrieveServiceContent(mor)
  File "C:\Python26\lib\site-packages\suds-0.3.8-py2.6.egg\suds\client.py", line
 537, in __call__
    return client.invoke(args, kwargs)
  File "C:\Python26\lib\site-packages\suds-0.3.8-py2.6.egg\suds\client.py", line
 597, in invoke
    result = self.send(msg)
  File "C:\Python26\lib\site-packages\suds-0.3.8-py2.6.egg\suds\client.py", line
 632, in send
    result = self.failed(binding, e)
  File "C:\Python26\lib\site-packages\suds-0.3.8-py2.6.egg\suds\client.py", line
 683, in failed
    r, p = binding.get_fault(reply)
  File "C:\Python26\lib\site-packages\suds-0.3.8-py2.6.egg\suds\bindings\binding
.py", line 235, in get_fault
    raise WebFault(p, faultroot)
suds.WebFault: Server raised fault: 'type'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
---------------------------------------------------------------------------------------
 
 
 
 
----------------------------------------WSDL - ManagedObjectReference-------------------------------------
- <complexType name="ManagedObjectReference">
- <simpleContent>
- <extension base="xsd:string">
  <attribute name="type" type="xsd:string" />
  </extension>
  </simpleContent>
  </complexType>
----------------------------------------------------------------------------------------------------------------------------
 
------------------------------------- WSDL -Function RetrieveServiceContent------------------------
- <complexType name="RetrieveServiceContentRequestType">
- <sequence>
  <element name="_this" type="vim25:ManagedObjectReference" />
  </sequence>
  </complexType>
  <element name="RetrieveServiceContent" type="vim25:RetrieveServiceContentRequestType" />
- <element name="RetrieveServiceContentResponse">
- <complexType>
- <sequence>
  <element name="returnval" type="vim25:ServiceContent" />
  </sequence>
  </complexType>
  </element>
-------------------------------------------------------------------------------------------------------------