SSブログ

The Zope 3 Developer's Handbook の 23章 [Zope 3]

Availability via XML-RPC
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/xmlrpc.html
REST と XML-RPC についてちょっと調べたので、
http://blog.so-net.ne.jp/nakagami/2006-01-16
Zope 3 の Content で XML-RPC をどう取り扱えばよいか、Zope3Book を読んでみた。

以下、気付いた点

Zope 3 とは関係ないけど、XML-RPC は、UNICODE と None に対応する型をもてないので注意。

Zope3Book の例では、
Message に実装する XML-RPC のメソッドが MessageMethods
MessageBoard に実装する XML-RPC のメソッドが MessageBoardMethods
さらに、上の両方のクラスの基底クラスとして MessageContainerMethods が定義されているのでちょっと分かりづらいが、要するに、Zope3 の Content に XML-RPC のメソッドを実装するには

1.zope.app.publisher.xmlrpc.MethodPublisher を継承したクラスを作る
2.新しい Content object を追加した場合
 zope.event.notify(zope.app.event.objectevent.ObjectCreateEvent(obj)) してあげる
3.Content object のプロパティを変更した場合
 zope.event.notify(zope.app.event.objectevent.ObjectModifiedEvent(self.context)) してあげる
4. configure.zcml で xmlrpc という namespace に view というディレクティブがあるので、XML-RPC で使えるようにするメソッド名とクラス名を書いてあげる
 
XML-RPC サーバーを作るのはとっても簡単そう。
(・・・本の内容についてはここまで)

REST については、XMLを返す browser:view を作ればなんとかなるかなぁと思ってるけど、
Zope 3 の View の ZPT で content-type に text/xml を渡すのがうまく行くかどうかは調べてない。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0