Hi All,

I am trying to call a SOAP operation from a WSDL that has multiple namespaces:

<wsdl:definitions
xmlns:ns1="http://org.apache.axis2/xsd";
xmlns:ns=http://sdk.mc.pavamar.com
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/
xmlns:mcxs="http://sdk.mc.pavamar.com/xsd";
xmlns:xs=http://www.w3.org/2001/XMLSchema
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:soap12=http://schemas.xmlsoap.org/wsdl/soap12/
targetNamespace="http://sdk.mc.pavamar.com";>

The operation I am trying to call is:

<xs:element name="login">
  <xs:complexType>
   <xs:sequence>
     <xs:element name="args0" type="mcxs:LoginInfo"/>
   </xs:sequence>
  </xs:complexType>
</xs:element>

where LoginInfo is a complex type defined as such:

<xs:complexType name="LoginInfo">
  <xs:sequence>
    <xs:element name="user" type="xs:string"/>
    <xs:element name="password" type="xs:string"/>
    <xs:element name="client" type="xs:string"/>
    <xs:element name="domain" type="xs:string"/>
    <xs:element name="locale" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

However, when I attempt to call it with:

     client = SoapClient(wsdl='http://myserver:9443/services/mcService?wsdl', 
trace=True, soap_server='axis')
     client.login({'user': 'test', 'password': 'xxx', 'client': 'tester', 
'domain': '/', 'locale': 'en_US'})

The server does not like the request:

--------------------------------------------------------------------------------
POST http://10.99.99.5:9443/services/mcService.McServiceHttpSoap11Endpoint/
SOAPAction: "urn:login"
Content-length: 445
Content-type: text/xml; charset="UTF-8"

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<soap:Header/>
<soap:Body>
    <login xmlns="http://sdk.mc.pavamar.com/xsd";>
    
<args0><user>test</user><password>xxx</password><client>tester</client><domain>/</domain><locale>en_US</locale></args0></login>
</soap:Body>
</soap:Envelope>

transfer-encoding: chunked
status: 500
content-type: text/xml; charset=utf-8
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>org.apache.axis2.databinding.ADBException:
 Unexpected subelement args0</faultstring><detail 
/></soapenv:Fault></soapenv:Body></soapenv:Envelope>
================================================================================

Am I doing something wrong here? I have a feeling it has to do with namespaces 
not being prefixed to the individual parameters. Any help is greatly 
appreciated!

Thank you,
Ryan
_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap

Reply via email to