以下のコードの変数$ responseは、SOAP要求の値でなければならないのにNULLです。 (潮のリスト)。 $ client - > __ getLastResponse()を呼び出すと、SOAPサービスから正しい出力が得られます。SoapClientは "NULL"を返しますが、XMLを返します__getLastResponse()はXMLを返します
ここで何が間違っているかご存知ですか?ありがとう! :)ここで
は私のコードです:
$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);
$応答があるの解決
PackageChangeBatchResponse
まだ実際のXMLを返すべきか? – MathenoWSDL、SOAによると、 pレスポンスは(サーバによって)間違っているので、クライアントはそれを解析できません。私はあなたのコードをテストし、応答XMLにはHighLowValuesタグが含まれていますが、それは 'getHighLowTidePredictionsResponse'関数に関連しています。 – Fracsi
@Frasci:ソリューションが機能しました。ありがとうございました! :) – Padraig