nDiki
2004年8月29日 (日)
■ XML-RPC - Java クライアントと Perl サーバ

Java プログラムと Perl プログラムとの連携に XML-RPCが使えないか検討。 まずは実験。
@ Perl 側
RPC::XMLモジュールを使う。
#!/usr/bin/perl -w
use strict;
use RPC::XML::Server;
my $server = RPC::XML::Server->new(port => 9876);
$server->add_method( {name => 'Perl.eval',
signature => [ 'struct string' ],
code => sub { warn $_[1]; return {value => eval $_[1]}}});
$server->server_loop;
引数の文字列を eval した結果を文字列で返す危険な手続き。
@ Java 側
いろいろライブラリがあり迷う。 Apache XML-RPCが簡単そうなのでまずはこれで。1.2-b1 を使用。
import java.util.Vector;
import java.util.Hashtable;
import java.io.IOException;
import org.apache.xmlrpc.XmlRpcClient;
import org.apache.xmlrpc.XmlRpcException;
public class XMLRPCClient {
public static void main(String[] args) {
String url = args[0];
String methodName ="Perl.eval";
Vector params = new Vector();
params.add(args[1]);
try {
XmlRpcClient client = new XmlRpcClient(url);
try {
//String result = (String)client.execute(methodName, params);
//System.out.println(result);
Hashtable result = (Hashtable)client.execute(methodName, params);
System.out.println(result.get("value"));
} catch (XmlRpcException ex) {
System.out.println(ex.getMessage());
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
Perl 側でプログラムを起動しておいて実行。
java -classpath .:xmlrpc-1.2-b1.jar \ XMLRPCClient http://localhost:9876/ "3 + 5"
8 が出力される。成功。簡単。
- RPC::XML のかわりに XMLRPC::Lite (2004-08-31)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- ハッシュとは (2004-06-09)
- SQLite とか DbUnit とか (2005-05-23)
- 過去の今ごろ (2004-08-27)
■よく検索されるキーワード
torrent(86) windows(43) x31(42) perl(39) 書き方(37) linux(29) mp980(27) 提案書(24) アジェンダ(24) 設定(24) usb(23) 手帳(21) thinkpad(21) 使い方(21) ドラマ(21) ganttproject(21) debian(19) gtd(19) 画像(18) cvs(16) 壁紙(14) 動画(13) ヨドバシカメラ(13) subversion(13) a6(13) dropbox(13) ssh(12) svn(12) 日本語(12) make(12) tc-1(12) java(12) 修理(12) インストール(11) ノート(10) mp3(10) 方眼(10) rcs(10) サンプル(10) ヨドバシ(10) ボールペン(9) c#(9) ダイソー(9) web(9) nsis(9) アジェンダとは(9) centos(9) メモリ(9) 評判(9) pdumpfs(8) ダウンロード(8) フィルム(8) リフィル(8) アレグラ(8) truecrypt(8) クラリチン(7) cgi(7) 無印(7) バッグインバッグ(7) 印刷(7) thinkingrock(7) hhkb(7) ai(7) デジカメ(7) 無線lan(7) google(7) コンポ(7) pixus(7) xampp(7) tortoisesvn(7) dvd(7) porter(7) af(6) ファイル(6) ガントチャート(6) xp(6) gmail(6) smtp(6) 生年月日(6) リポジトリ(6)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.321729s / load averages: 0.25, 0.25, 0.17
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク