如何从返回的 XML-RPC 对象中获取 String 数组?
我正在使用 Apache java XML-RPC 最新版本。
在服务器中发送数组的代码如下:
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[] {});
这应该将我接收到的对象转换为正确的类型(String[])。不幸的是它没有,我收到以下错误:[Ljava.lang.Object;无法转换为 [Ljava.lang.String;
所以我想知道是否有人知道如何在 java XML-RPC 中正确发送和接收数组?
I am using Apache java XML-RPC latest version.
The code for sending the array in Server is the following:
LinkedList<String> messages = new LinkedList<String>();
public String[] getMessages() {
System.out.println("Sent messages");
return messages.toArray(new String[messages.size()]);
}
To receive in the client I have tried something like this:
String[] result = (String[]) client.execute("Message.getMessages", new Object[] {});
This should cast the Object that I receive to the right type (String[]). Unfortunately it doesn't and I get the following error: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
So I am wondering if anyone knows how to properly send and receive arrays in java XML-RPC?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
基于 http://ws.apache.org/xmlrpc/types.html 客户端即使服务器返回
String[]
,API 也将始终返回Object[]
我建议循环遍历结果并在每个结果上调用
toString()
成员。丑陋,但工作。Based on http://ws.apache.org/xmlrpc/types.html the client API will always return
Object[]
even if the server returnsString[]
I would suggest looping over the result and calling
toString()
on each member. ugly, but working.您已经创建了自己的函数来分析 xmlrpc 响应,该响应通常是一个 Object[],我正在使用这个:
tvDebug (TextView) 将显示如下:
You have create your own function to analyse the xmlrpc response which is usually an Object[], I'm using this:
The tvDebug (TextView) will be show like this: