SOAP isteğinin değeri olsa bile, aşağıdaki kodda $ response değişkeninin NULL değeri olur. (gelgitlerin listesi). $ Client -> __ getLastResponse() öğesini çağırdığımda SOAP hizmetinden doğru çıktıyı alırım.SoapClient "NULL" döndürür, ancak __getLastResponse() XML döndürür
Herkes burada yanlış nedir biliyor? Teşekkürler! :)
İşte benim kodudur:
<?php
// below $option=array('trace',1);
// correct one is below
$option=array('trace'=>1);
$client=new SoapClient('some.wsdl',$option);
try{
$client->aMethodAtRemote();
}catch(SoapFault $fault){
// <xmp> tag displays xml output in html
echo 'Request : <br/><xmp>',
$client->__getLastRequest(),
'</xmp><br/><br/> Error Message : <br/>',
$fault->getMessage();
}
?>
"iz" parametresi isteğinin çıkışını sağlar:
$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);
/tepkiyi maç için WSDL değiştirme WSDL eşleşecek şekilde değiştirmeyi giderir vardır? – Matheno
wsdl göre, soa p yanıtı (sunucu tarafından) yanlıştır, böylece istemci bunu ayrıştırılamaz. Kodunuzu test ettim ve XML'in yanıtı HighLowValues etiketini içeriyor, ancak 'getHighLowTidePredictionsResponse' işleviyle ilgilidir. – Fracsi
@Frasci: Çözümünüz işe yaradı. Teşekkür ederim! :) – Padraig