[Soap-Python] Problem with PHP in WSDL mode

azurIt azurit at pobox.sk
Fri Sep 30 15:24:00 CEST 2011


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


More information about the Soap mailing list