如何从返回的XML-RPC对象中获取String数组?

时间:2010-10-18 21:23:42

标签: java arrays apache xml-rpc

我正在使用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中正确发送和接收数组?

1 个答案:

答案 0 :(得分:1)

基于http://ws.apache.org/xmlrpc/types.html,即使服务器返回Object[],客户端API也将始终返回String[]

我建议循环结果并在每个成员上调用toString()。丑陋,但工作。