PHPを使用してSOAPベースのWebサービスを利用しようとしています。以下はサンプルコードです。戻されたオブジェクト要素にアクセスする方法を知る/学ぶ必要がありますか?私は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でこのオブジェクトにアクセスする方法とその理由を教えてください。