SoapClient返回"NULL",但__getLastResponse()返回XML

Pad*_*aig 6 php soap web-services

下面代码中的变量$ response是NULL,即使它应该是SOAP请求的值.(潮汐清单).当我调用$ client - > __ getLastResponse()时,我从SOAP服务获得正确的输出.

谁知道这里有什么问题?谢谢!:)

这是我的代码:

$options = array(
  "trace" => true,
  "encoding" => "utf-8"
);
$client = new SoapClient("http://opendap.co-ops.nos.noaa.gov/axis/webservices/highlowtidepred/wsdl/HighLowTidePred.wsdl", $options);

$params = array(
    "stationId" => 8454000,
    "beginDate" => "20060921 00:00",
    "endDate" => "20060922 23:59",
    "datum" => "MLLW",
    "unit" => 0,
    "timeZone" => 0
);

try {
 $result = $client->getHLPredAndMetadata($params);
 echo $client->__getLastResponse();
}
catch (Exception $e) {
  $error_xml =  $client->__getLastRequest();
  echo $error_xml;
  echo "\n\n".$e->getMessage();
}
var_dump($result);
Run Code Online (Sandbox Code Playgroud)

Man*_*eUK 5

$result(或对 SoapCall 的响应)的原因null确实是因为 WSDL 无效。

我刚刚遇到了同样的问题 - WSDL 说响应应该是,PackageChangeBatchResponse但实际的 XML 返回已经PackageChangeResponse

更改 WSDL 以匹配响应/更改响应以匹配 WSDL 可解决问题