Biến $ response trong mã bên dưới là NULL mặc dù nó phải là giá trị của yêu cầu SOAP. (danh sách thủy triều). Khi tôi gọi $ client -> __ getLastResponse() tôi nhận được kết quả chính xác từ dịch vụ SOAP.SoapClient Trả về "NULL", nhưng __getLastResponse() trả về XML
Bất kỳ ai biết điều gì sai ở đây? Cảm ơn! :)
Đây là mã của tôi:
$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);
đâu là $ phản ứng? – Matheno
Theo wsdl, các soa p phản ứng là không chính xác (bởi máy chủ), do đó, khách hàng không thể phân tích nó. Tôi đã thử nghiệm mã của bạn và XML phản hồi chứa thẻ HighLowValues, nhưng nó có liên quan đến hàm 'getHighLowTidePredictionsResponse'. – Fracsi
@Frasci: Giải pháp của bạn đã hoạt động. Cảm ơn bạn! :) – Padraig