0
我正在嘗試使用基於SOAP的webservice uisng PHP。以下是示例代碼。我需要知道/學習如何訪問返回的對象元素? 請注意,我是新來的PHP如何從SOAP webservice使用PHP訪問返回的對象
$url = 'http://www.webservicex.net/uszip.asmx?WSDL';
$soap = new SoapClient($url, array(
"trace" => 1, // enable trace to view what is happening
"exceptions" => 0, // disable exceptions
"cache_wsdl" => 0));
try {
$result = $soap->GetInfoByZIP(array('USZip' => '97219'));
echo($result->$CITY);
//print_r($soap->GetInfoByZIP(array("USZip" => "97219")));
} catch (SoapFault $e) {
echo "Error: {$e->faultstring}";
}
我得到下面的異常
Notice: Undefined variable: CITY
Fatal error: Cannot access empty property
然而,當我執行註釋行上面它返回以下響應
stdClass Object
(
[GetInfoByZIPResult] => stdClass Object
(
[any] => <NewDataSet xmlns=""><Table><CITY>Portland</CITY><STATE>OR</STATE><ZIP>97219</ZIP><AREA_CODE>503</AREA_CODE><TIME_ZONE>P</TIME_ZONE></Table></NewDataSet>
)
)
因此,這意味着該數據正在返回,但我無法像訪問.NET一樣訪問它。
任何人都可以請幫助我如何訪問PHP中的這個對象,爲什麼?
感謝您的幫助! 它顯然工作,但當我試圖打印出對象它preints空白:/但是當我打印對象作爲XML它顯示我的數據。需要知道如何引用對象的屬性:) 以下是代碼 $ obj = simplexml_load_string($ result-> GetInfoByZIPResult-> any); echo $ obj-> asXML(); – Salman 2013-03-05 17:03:04
如果您成功將XML字符串轉換爲對象,則可以像訪問該對象一樣簡單地訪問它的屬性:$ obj-> Table-> City。 是的 - 傾銷這樣的對象有不同的行爲從usuall。 – 2013-03-06 09:17:04
讓我知道如果你需要任何額外的幫助:) – 2013-03-07 11:36:16