1

私はプロジェクトの SOAP について学んでおり、その基本を理解しています。これまで使ったことがないなんて信じられない。それは素晴らしい。とにかく、私の問題に。

リクエストの応答を Web ブラウザーに正常に出力できましたが、この応答を STD オブジェクトに変換できないようです。

私はチュートリアルに従い、それを別の WDSL ファイルに適応させて、自分が何をしているのかを完全に理解しています。

これは私のPHPファイルです。

<?

//////////////////////////////////////
//
//  ABOUT:      This file will send a request to the WSDL file and return a result in the browser window
//  AUTHOR:     Brad Bird
//  DATE:       07/02/2013
//
//////////////////////////////////////

// Setup the SOAP Client options
$wsdl = "http://www.mobilefish.com/services/web_service/countries.php?wsdl";
$options = array(
    "trace" => 1,
    "exception" => 0
);

// Creates new instance of the SOAP Client
$client = new SoapClient($wsdl, $options);

// Return a set of information using one function
$countryCode = "af";
$values = $client->countryInfoByIana($countryCode);

// Prints the details of the request and response to the browser
print "<h2>SOAP Details</h2>";
print "<pre>";
print "<h3>Request</h3> " . htmlspecialchars($client->__getLastRequest()) . "<br />";
print "<h3>Response</h3> " . htmlspecialchars($client->__getLastResponse());
print "</pre>";

// Prints the request in XML format
$xml = $values->countryInfoByIanaResponse;

print "<h2>stdClass Object</h2>";
print "<pre>";
print_r($xml);
print "</pre>";

そして、リクエストを取得しようとしているこの WSDL ファイルは here です。 http://www.mobilefish.com/services/web_service/countries.php?wsdl

何らかの理由で、STD オブジェクト セクションに何も表示されません。何か案は?

4

1 に答える 1

1

$xml は stdClass のオブジェクトではありませんが、null. $valuesしかしそうです。$values->countryInfoByIanaResponse存在しません。$values にあるのは

: object(stdClass) = 
  ianacode: string = "af"
  countryname: string = "Afghanistan"
  latitude: double = 33.93911
  longitude: double = 67.709953

何をしようとしているのか正確にはわかりません - 結果ではなく $client でメソッドを呼び出す可能性がありますか? また、error_reporting に関する PHP マニュアルを確認してください。print_r 行で、この Notice: Undefined property: stdClass::$countryInfoByIanaResponse に出くわしたことでしょう。

于 2013-02-07T21:27:00.470 に答える