XML-RPC

Vortex LibraryをラッピングするMYVORTEXSERVERクラスとMYVORTEXCLIENTクラスを作ってみて,うまくサーバークライアント間で通信ができるようになった。しかし依然としてアプリケーションプロトコルのイメージが頭に浮かばない。XMLをやりとりしたら自由度が高そう,と思っていたら,VortexでXML-RPCがサポートされていたので,使ってみようかと思う。IDL/XDLを作ってコンパイルするワンクッションが面倒くさいが,車輪の再発明よりは良いだろう。

MYVORTEXSERVERにXML-RPCのサポートを追加したら,

../../Library/myvortexserver.cpp:119: error: ‘vortex_xml_rpc_accept_negotiation’ was not declared in this scope

とエラー発生。./configureのパラメータ足りなかったかな? と思ってvortexを再ビルドしたが,単に,

#include <vortex_xml_rpc.h>

が足りないだけだった。libvortex-xml-rpc-1.1.aのリンクも追加。

MYVORTEXCLIENTもXML-RPC対応(IDL/XDLは使わずRaw API手動呼び出し)したら,

method_call_free (invocator);

の呼び出しでアボートしたので削除。無事動作。

IDL/XDLのコンパイル出力はCになるようなので,アップデート後にいちいちC++に書き換えるのが面倒だ。なので,このままRaw API使用で突っ走るかも。

さらにBHPROTOCOLSERVERとBHPROTOCOLCLIENTでラッピングして,BHPROTOCOLの実装準備完了。BHPROTOCOLからVortexを呼んでいるところは直すこと。抽象化。疎結合。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です