YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Pythonで使えるSOAPライブラリについて調べた (2011/02版)

はじめに

ボンジュール(こんにちは)、Python界の殺伐担当です。さて、SOAP終了のお知らせからもう4ヶ月くらい経とうとしていますが、未だにSOAPを使っているシステムは多いわけでして、SOAPを喋れることが必要なくなったわけではありません。しかしながら、見たところPython製のSOAPライブラリは「これだっ!」って決定打がない感じで、Pythonを使ってSOAPサービスのテストをするときにはどれを使っていいか分かりにくいというのが現状だと思います。

そこでちょっと調べた

いくつかある中で、ヒット件数が多いのはSOAPpyとsoaplibまわり。この2つで後者のsoaplibが開発が活発なようなので流れを追ってみるとどうもこういうことらしい。

ということなので、ネットで調べて適当にsoaplibのサンプルコードをコピペで動かそうとすると「clientなんてモジュールねーよ!」とか怒られる可能性大。大抵はsoaplibってなってるのをrpclibに置き換えれば動くと思う。*1

あとpywebsvcs系のライブラリ(SOAPpy, ZSI, wstools)は2007年くらいから開発止まってる感じだし、Python 2.6とかで動かせないから無視していいと思う。

自分が調べた感じだと次のような感じ。(執筆時現在の状況)

ライブラリ名 server client PyPI 依存ライブラリ 最終更新
soaplib × lxml, pytz 2011/02/07
soaplib.client × × -- 2011/01/25
rpclib lxml, pytz 2010/11/26
suds × -- 2010/12/31
pywebsvcs × -- 2010/03
PySimpleSoap (httplib2) 2011/01/24
  • PySimpleSoapでclient作ろうと思ったらhttplib2がいる
  • soaplib.clientあるけどあんまり使えない雰囲気
  • rpclibのものも同様なのでclientにはあんまり使えない

参考

ブログエントリ
Python本家

*1:これからやってみる