130

Python で WSDL SOAP ベースの Web サービスを使用したいと考えています。Dive Into Pythonコードを見てきましたが、SOAPpy モジュールは Python 2.5 では動作しません。

部分的に機能するsudsを使用してみましたが、特定のタイプで壊れます (suds.TypeNotFound: Type not found: 'item')。

Clientも調べましたが、これは WSDL をサポートしていないようです。

ZSIを見てきましたが、非常に複雑に見えます。誰かがそのサンプルコードを持っていますか?

WSDL はhttps://ws.pingdom.com/soap/PingdomAPI.wsdlであり、PHP 5 SOAP クライアントで正常に動作します。

4

10 に答える 10

49

SUDSをご覧になることをお勧めします

「Suds は、Web サービスを利用するための軽量の SOAP python クライアントです。」

于 2010-05-13T19:02:39.243 に答える
7

現在 (2008 年現在)、Python で利用できるすべての SOAP ライブラリは最低です。可能であれば、SOAP を避けることをお勧めします。前回、Python から SOAP Web サービスを使用することを余儀なくされたとき、一方の側で SOAP を処理し、もう一方の側で COM を呼び出すラッパーを C# で作成しました。

于 2008-09-22T15:55:07.233 に答える
6

私は定期的にこれに対する満足のいく答えを探していますが、今のところ運がありません. 私はsoapUI +リクエスト+手作業を使用しています。

前回これを行う必要があったときにJavaをあきらめて使用し、最後にこれをやりたかったときに何度かあきらめましたが、 Javaは必須ではありませんでした.

昨年、Project Place の RESTful API でリクエスト ライブラリをうまく使用できたので、送信したい SOAP リクエストを同様の方法で手動で処理できるのではないかと思いつきました。

それはそれほど難しいことではありませんが、特にフィールドの名前が一貫していない場合時間がかかり、エラーが発生しやすくなります (私が現在取り組んでいるものには「jobId」、「JobId」、および「JobID」があります。私はsoapUIを使用してロードしますエンドポイントなどを簡単に抽出し、いくつかの手動テストを実行できるようにするための WSDL .これまでのところ、私が使用している WSDL への変更による影響を受けなかったのは幸運でした.

于 2013-11-07T11:54:38.630 に答える
3

それは真実ではありませんSOAPpyはPython2.5では機能しません-それは非常にシンプルで本当に本当に基本的ですが、機能します。より複雑なWebサービスと話したい場合は、ZSIが唯一の友達です。

私が見つけた本当に便利なデモはhttp://www.ebi.ac.uk/Tools/webservices/tutorials/pythonにあります。これは、ZSIがどのように機能するかを理解するのに本当に役立ちました。

于 2008-09-22T19:38:22.360 に答える
1

独自のものを展開している場合は、http://effbot.org/zone/element-soap.htmを参照することを強くお勧めします。

于 2010-01-19T11:13:16.103 に答える
1

SOAPpy は現在廃止されており、私の知る限り、ZSL に置き換えられています。Python 2.5またはPython 2.6のいずれかで、コンパイルどころか、どちらも動作させることができないため、これは論点です。

于 2010-04-02T16:33:07.007 に答える