2014-07-16 66 views
0

我有以下問題:無法檢索XML響應。 響應在php變量$ lists中很好,但是當我嘗試使用_getLastResponse獲取XML形式的響應時,沒有顯示XML。__getLastResponse不返回XML

的代碼是

<?php 
    $url = "http://www.onlinekartago.ro/ReservationWSTest/Offer.asmx?WSDL"; 
    $user = 'KartagoTest'; 
    $pass = 'KartagoTestPassword'; 
    try { 
     $client_K = new SoapClient($url, array('trace' => 1)); 
    } catch (SoapFault $exception) {  throw $exception; } 
    $params = array('user'=>array('UserName'=>$user, 'Password'=>$pass),'cultureID'=>1); 
    $lists=$client_K->GetBaseListsAll($params); 
// print_r($lists); 
    echo "Response:\n".$client_K->__getLastResponse()."\n Print_r:"; 
?> 

我也試過跟蹤「真實」價值,但具有相同的結果。任何建議?

+0

如果你回聲出到瀏覽器中,你最可能需要查看源代碼,並且對於['SoapClient :: __ getLastResponse()'](http://php.net/manual/en/soapclient.getlastresponse.php)返回一些必須使用TRUE值進行跟蹤的內容。不只是嘗試,但你是必需的(你在你的例子中做的,只是明確這一點) – hakre

+0

我也試過你的建議d(評論try/catch)像這樣,沒有變化.//try {SoapClient($ trace,array('trace'=>'TRUE')); \t // catch(SoapFault $例外){var_dump($ exception-> getTrace());} – user2073002

+0

我沒有建議try/catch,你一定誤解了我。 – hakre

回答

0
echo "Response:\n" . htmlentities(str_ireplace('><', ">\n<", $client->__getLastResponse())) . "\n";