WebService WSDLに従って適切な変数を作成する際に問題があります。私は、この単純な機能をpythonでsuds 0.4 sudo 0.4 SOAPライブラリを使用して実装しました。PHPのデータ型SOAP
Python実装(トラッカーは、WSDLを消費し、私のSOAPクライアントオブジェクトです):
c = self.tracker.factory.create("ns4:Text")
c.type = "text/html"
c.content = "my content goes here"
self.tracker.service.createComment(c)
どのように私はPHPでこれを実装するのですか?一見すると、私はPHP SOAP拡張モジュールでこれを実現する方法をあまり理解していませんでした。 "... factory.create(" ns4:Text ")はPythonで便利なようです。オブジェクトの属性を調べて、使用可能な関数に簡単に渡すことができます。
本当にオブジェクトを定義する必要はありますか? PHP次の方法:
$c->type = "text/html";
$c->content = "my content goes here";
$this->tracker->__soapCall('createComment',array($c));
この実装は、私が知っていると、オブジェクトのすべての属性を定義することを期待し、私はまた、ネストされた37個の属性の複雑なデータ型を、持っているだけ4それらのが必要であり、I。。すべての属性が定義された完全なオブジェクトとして、まだ4つの属性のみが埋め込まれた状態でサーバーに渡したいと思っていますか?
どんな意味ですか?
要約::pythonはwsdlファイルから完全なオブジェクトを作成しますが、これはどのようにしてPHPで取得できますか?
私はあなたのきれいな答えが好きですが、私はそれがwsdl_type_nsが存在しないようですが、type_nsがあると思われる余分なtypemap配列キーを使っていません。それはタイプミスですか? – Benoit
ありがとう、良いキャッチ!編集されました。 – jmkeyes