web服务-请求中未包含PHP NuSOAP参数



我正在尝试发送一个带有标头和大量参数的SOAP请求。这不是我第一次使用NuSOAP,以前从未遇到过问题。然而,对我来说,新的是我包含了一个标题,这可能是造成问题的原因。以下是我请求的代码:

 $client = new nusoap_client($url,'wsdl','','','','');
 $header = 
 "<ETGHeader>
  <VersionRequest>1.0.0</VersionRequest>
  <Originator>
    <Signature>Signature</Signature>
    <LoginData>
      <Name>Name</Name>
      <Password>Password</Password>
    </LoginData>
  </Originator>
 </ETGHeader>";
 $client->setHeaders($header);
 $param = array(
    "Settings" => array(
        "param1" => "1",
        "param2" => "2",
        "param3" => "3"
    )
 );
// Call the WebService
$result = $client->call('GetListVehicleType', array('parameters' => $param), '', '', false, true);
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';

这是正在发送的请求:

 <?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 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:Header><ETGHeader>
  <VersionRequest>1.0.0</VersionRequest>
  <Originator>
    <Signature>Signature</Signature>
    <LoginData>
      <Name>Name</Name>
      <Password>Password</Password>
    </LoginData>
  </Originator>
</ETGHeader></SOAP-ENV:Header><SOAP-ENV:Body><GetListVehicleType xmlns="http://url"/></SOAP-ENV:Body></SOAP-ENV:Envelope>

请求中没有包含我的任何参数。

任何帮助都非常感谢

Alex

NuSOAP可能有问题,请使用PHP内置的SoapClient对其进行重新编码并使其正常工作。

最新更新