5

REST リクエストには python requests モジュールを使用しました。

SOAP リクエストを作成しようとしていますが、この例が得られないのではないかと思いました。これが私の石鹸の本体とヘッダーです。

<auth>
<apikey>xcvzxcvcxzv-a0-0035c6fbc04f</apikey>
</auth>

<reports>
<report>
<name>Test</name>
</report>
</reports>

そして、ここにwsdlのURLがあります

https://ltn.net/webservices/booking/r1/index.wsdl

ここで Python を使用して投稿リクエストを行う方法を教えてください。モジュールを使用requestsできない場合、他の代替手段は何ですか?

4

4 に答える 4

7

SOAP サーバーを操作するには、専用のライブラリを使用する必要があります。残念ながら、Python 用の適切な SOAP クライアント モジュールはありません。私が使用した中で最も優れているのはsudsです。

于 2013-03-22T12:03:41.507 に答える
2

これは、実際に実装した人を知らないため、ほとんどが仮説ですが、suds は suds.transport.Transport のカスタム実装の作成をサポートしています。そのようなものは suds.transport.http.HttpTransport です。技術的には、トランスポート サブクラスを実装することで、リクエストを使用する suds トランスポートを作成できます。

http://jortel.fedorapeople.org/suds/doc/suds.transport.http.HttpTransport-class.htmlがデフォルトで使用され、http://jortel.fedorapeople.org/suds/doc/suds.transport を返します 。 .Reply-class.htmlを参照してください。ご覧のとおり、リクエストの返信をラップして suds が理解できるようにするのはかなり簡単なはずです。トランスポート要求 (要求と共に送信する必要があります) は、ここに文書化されてい ますhttp://jortel.fedorapeople.org/suds/doc/suds.transport.Request-class.html

なぜこのすべての努力?suds は内部で urllib2 を使用しているため、HTTP クライアントの実装としては python-requests よりもはるかに劣っています。

さらにもう 1 つ編集します。これは MIT コードであり、テストされていませんが、トランスポートの開始点として機能するはずです。

于 2013-08-19T10:01:31.927 に答える