misima SOAP Client Perl 版

| | コメント(0) | トラックバック(0)

今日は,Perl で misima SOAP クライアントを簡単に作成する方法について述べる。

misima 旧字・旧仮名遣い変換支援は Web 版を数多くの方に使っていただいている。しかし,misima SOAP Web Service を利用しているひとはほとんどいない。misima SOAP Web Service パッケージには,Emacs / Meadow 用,Microsoft Word 用,Jedit X 用,TeXShop 用,秀丸用のクライアント,Java API クラスライブラリが添付されている。これによって,まるで自分の PC で misima が動いているかのような使い方ができるのに。作者としては残念である。

SOAP といえば Java という印象があるけれども,一方,Perl の世界でも,SOAP 通信基盤モジュール SOAP::Lite が提供されており,CPAN (Comprehensive Perl Archive Network) から入手できる。これを使うと,いとも簡単に misima SOAP クライアントが書けてしまう。misima 変換オプションと対象文字列を二つのパラメータにセットし,SOAP サービスオブジェクトを生成し,パラメータを引数にして misimaConvert メソッドを実行すると,misima 変換結果が返却される。

#!/usr/bin/perl
use utf8;
use SOAP::Lite;
binmode STDOUT, ":utf8";
my $p1 = "-kyitq -s a -x fki"; # 旧字旧仮名TeX変換指定
my $p2 = "鴎外は団扇であおいだ。Я люблю вас. Ça, déjeunons!"; # 変換対象 text
my $uri = "http://yasuda.homeip.net/axis/services/misimaSoapConnector";
my $svc = SOAP::Lite->service("$uri?wsdl");
print $svc->misimaConvert($p1, $p2);

以上のような Perl コードを misimaconvert とでも名前を付けて格納する。コマンドラインでこれを実行すると「\CID{7646}外は團\CID{13883}であふいだ。YA lyublyu vas. \c Ca, d\'ejeunons!」(旧字・旧仮名遣い・多言語 TeX 変換)と出力される。

もちろん,これは核心部分だけのコードなので,実用的なプログラムには,パラメータの組立て,変換対象文字列の取得,結果の編集・加工など,その前段,後段が必要なのは言うまでもない。でも,misima の遠隔変換オペレーションはこれだけでできてしまうのである。SOAP はいかに簡単なのかということが分かると思う。misima サーバが Java で記述されているなんてことはまったく意識しないでよい。XML による標準化というものがいかに強力なのかが分かるというものである。

おそらく SOAP::Lite モジュールの組込みの方がよっぽど面倒だろう。MIME-Lite, MIME-Tools, XML-Parser, Compress-Zlib など,いくつかの前提モジュールを別途インストールしておく必要があるからである。FreeBSD ならば ports: net/p5-SOAP-Lite が用意されているので,cd /usr/ports/net/p5-SOAP-Lite && make install clean 一発でインストールできる。私の場合,前提 Perl モジュールの版が古かったためか,「.../Base64.so: Undefined symbol "Perl_Tstack_sp_ptr"」などのエラーが出て make が失敗するという問題があった。エラーになっているライブラリ(例では BASE64.so)の Perl モジュールを再インストール(make deinstall reinstall)すればうまくいった。

ユーザでもし独自に misima アクセスクライアントを作成し運用する場合は,私に連絡いただきたい。

トラックバック(0)

このブログ記事を参照しているブログ一覧: misima SOAP Client Perl 版

このブログ記事に対するトラックバックURL: http://nox-insomniae.ddo.jp/cgi-bin/mt-tb.cgi/490

Comments


画像の中に見える文字を入力してください。

Profile

ISAO。システムエンジニア。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

管理者が公序良俗に反すると判断したコメント,トラックバックは,断りなく削除される場合があります。

Links

About this entry

Written by isao at 2009年2月 8日 02:53.

Previous: OldSlav --- Old Church Slavonic LaTeX package 1.0 release

Next: Dream Journey Op.140,Blog renewal

Recent Entries in Main Index.
All Entries in Archive Index.

Web Pages

Powered by Movable Type 4.1