WSDL
この方法でサーバーにリクエストを送信します。
$soap = new SoapClient('WSDL_URI');
$soap->SomeFunction(array('Param1' => 123, 'Param2' => 456));
それは正常に動作し、次を__getLastRequest
返します。
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/">
<SOAP-ENV:Body>
<ns1:SomeFunction>
<ns1:Param1>123</ns1:Param1>
<ns1:Param2>456</ns1:Param2>
</ns1:SomeFunction>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
しかし、私が電話をかけるとSomeFunction
、__soapCall
サーバーWSDL
はブレーキをかけ、正しい応答を返しません。
$soap->__soapCall('SomeFunction', array('Param1' => 123, 'Param2' => 456));
__getLastRequest
戻り値:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/">
<SOAP-ENV:Body>
<ns1:SomeFunction/>
<param1>123</param1>
<param2>456</param2>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ご覧のとおり、リクエストが異なるため、機能しません。
それを解決する方法は?