Apache XML-RPCで名前付き引数を渡す方法

XmlRpcClient#executeにはListObject[]しか与えられないけど、Mapを無理やり与えれば名前付き引数として処理されるようです。
具体的にはこんな感じ。

@Test
public void simple() throws MalformedURLException, XmlRpcException {
	XmlRpcClientConfigImpl tConfig = new XmlRpcClientConfigImpl();
	tConfig.setServerURL(new URL("http://localhost:12345/"));
	XmlRpcClient tXmlRpcClient = new XmlRpcClient();
	tXmlRpcClient.setConfig(tConfig);
	final Map tArguments = new HashMap();
	tArguments.put("head", "X");
	tArguments.put("tail", "Y");
	final Map tReturn = (Map) tXmlRpcClient.execute("concat", new Object[] { tArguments });
	System.out.println(tReturn);
}

実行結果

{result=XY}

こんなの予想できんわー。

おしまい。

参考URL

コメントをどうぞ