Hi,

i was just trying to use PHP soap client in WSDL mode like this:
ws_wsdl = "http://127.0.0.1:9753/?wsdl";;
client = new SoapClient(ws_wsdl);
client->echo_string(new SoapParam($s, "s"));

which generated invalid XML:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="tests">
  <SOAP-ENV:Body>
    <ns1:echo_string/>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

here what happens in non-WSDL mode:
ws_url = "http://127.0.0.1:9753/";;
client = new SoapClient(null, array("location" => ws_url, "uri" => "tests"));
client->echo_string(new SoapParam($s, "s"));

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ns1="tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"; 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
  <SOAP-ENV:Body>
    <ns1:echo_string>
      <s xsi:type="xsd:string">OK</s>
    </ns1:echo_string>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


server side looks like this:

class tests(ServiceBase):

        @srpc(String(min_occurs=1, nillable=False, min_len=1), _returns=String)
        def echo_string(s):
                return s


Any ideas why PHP is not working correctly in WSDL mode ?

azur
_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap

Reply via email to