<Version>
要素のテキストをWSDLの<service>
ブロック内にネストしたいと思います。問題のWSDLは、Ebayの取引 apiです。問題のスニペットは、このようなものになります。SoapClientを使用してPHPでWSDLの要素を取得する
$xml = new DOMDocument();
$xml->load($this->wsdl);
$version = $xml->getElementsByTagName('Version')->item(0)->nodeValue;
これは動作しますが、このネイティブに使用してPHPのSOAP拡張モジュールを取得する方法がある場合、私は思ったんだけど:
<wsdl:service name="eBayAPIInterfaceService">
<wsdl:documentation>
<Version>941</Version>
</wsdl:documentation>
<wsdl:port binding="ns:eBayAPISoapBinding" name="eBayAPI">
<wsdlsoap:address location="https://api.ebay.com/wsapi"/>
</wsdl:port>
</wsdl:service>
を私は現在、これをやっています?
私は仕事と次のようなものを考えていたが、それはしていません:
$client = new SoapClient($this->wsdl);
$version = $client->eBayAPIInterfaceService->Version;
私は答えとしてリンクを投稿するのは悪いフォームなので、私は代わりにコメントしています。 SoapClient PHPクラスの使い方を学ぶ上でこのリンクが本当に便利だと分かりました。 http://devzone.zend.com/2202/php-and-soap-first-steps/ WSDLの使用例を示します。そのクラスは、データを取得できるオブジェクトとしてデータを返します。 – crdunst
@crdunst - SoapClientクラスからその要素を取得する方法はありません。私はクライアントを初期化し、メソッドを呼び出し、プロパティを取得することができますが、私の人生では、 ''にアクセスする方法を理解できません。 wsdlはhttp://developer.ebay.com/webservices/latest/ebaysvc.wsdlで公開されています。非常に有用なSoapClientを使用して実例を提供できる場合 –
billynoah
私はあなたのためにそれを見始めたが、イーベイのAPIは私が働いていたAPIよりも無限に複雑であるようだ。私はこのSOの答えを見つけました - それは実際の例があるようです:http://stackoverflow.com/questions/16502207/how-to-connect-to-the-ebay-trading-api-through-soapclient幸運。 – crdunst