WebService SIG
こんなのあったらいいな?
で、プロダクトとして作って意味があるものって何でしょう?と考えたんですけど、とりあえずはXMethods みたいなところで提供されているWSDLやSOAP呼び出しの情報を登録すると、データ入力フォームと結果表示画面ぐらいがでるようなものを作るのがいいのかなぁと。配布する意味はあんまなさそうなんですけど、さらに高機能なプロダクトを作るための足がかりぐらいにはなるんじゃないかと思いました。(時間が空いたら取り組んでみたいです。5月は過ぎるだろうなぁ・・・。)
簡単にまとめたものは、http://www3.to/she-wolf/docs/XML/WSDL4py 。
ActiveState の SWSAPI が良さそうだけど、2002年4月9日現在、うまく動いていない。
公開されている WSDL ファイルから、SOAP サービスにアクセスするために必要となる情報は抜き出せるので、available な SOAP サービスの中から使いたいサービスが選べて、例えば以下のように呼び出せると面白いのかなあ?
<dtml-var expr="some_soap_service.some_soap_method(arg1, arg2)">
あったら便利だと思うプロダクトっていうか、Web サービスなんですけどMapion みたいな地図検索サービスが地図検索用の Web サービスを公開して地図が SVG で取得できるなんてのはどうでしょう?
で、Zope ではこの Web サービスのラッパープロダクトを作ればとりあえず、ほかのプロダクトから地図サービスが簡単に利用できるようになって便利だと思うんですがいかがなもんでしょう?
住所から7桁郵便番号を検索する SOAP サービス (篠原邦武さん作。横浜ベイキットの EZ-Bean を利用。)
endpoint URL : http://www.webappcabaret.com/sk/servlet/prpcrouter
Method namespace : urn:yuservice
Method name : yunoservice
SOAP Action : ""
Params : city 日本語 市区町村名, street 日本語 町域名
あれっ? 日本語はどうやって渡すんだろう? っていうか、SOAP メッセージの中で日本語はどういう風にエンコードされるんだっけ? UTF-8?
Terra Service (@IT) なんてのもありました。SOAP では北米だけだそうなので、実用的ではないですが。。。
これ、ハードコーディングしちゃうとつまらないなあ。コメントの部分って、与えられた文字列を関数名として動的に実行するってのは、どうやるんだろ? それができれば、全部引数で与えられるのになあ。
getattr(object, methodname)(args)
滝中さん、浦郷さん、thanks (Python-ml-jp)。
apply(f, (), {paramname: paramvalue})
や、Python 2.x なら、
getattr(object, methodname)(**{paramname:paramvalue})
f = getattr(object, methodname)
kwargs = {paramname:paramvalue}
f(**kwargs)
など。片桐さん、滝中さん、thanks (Python-ml-jp)。
Xmethods の他のサービスで、float を引数に取るやつとかは、XMLSchema のバージョンが違う(1999 と 2001)とかでエラーが出るねえ。SOAP.py は開発凍結らしいけど、どうしようかなあ。
XMethodsのWebサービスをかたっぱしから呼んでみよう
| Last edited Mon, 11 Sep 2006 01:51:20 +0900 | Edit this page |