我正在使用Apache java XML-RPC最新版本。
在Server中发送数组的代码如下:
LinkedList<String> messages = new LinkedList<String>();
public String[] getMessages() {
System.out.println("Sent messages");
return messages.toArray(new String[messages.size()]);
}
要在客户端接收我尝试过这样的事情:
String[] result = (String[]) client.execute("Message.getMessages", new Object[] {});
这应该将我收到的Object强制转换为正确的类型(String [])。不幸的是它没有,我得到以下错误:[Ljava.lang.Object;无法转换为[Ljava.lang.String;
所以我想知道是否有人知道如何在java XML-RPC中正确发送和接收数组?
答案 0 :(得分:1)
基于http://ws.apache.org/xmlrpc/types.html,即使服务器返回Object[]
,客户端API也将始终返回String[]
我建议循环结果并在每个成员上调用toString()
。丑陋,但工作。