我在XML-RPC应用程序中有多个参数的方法有问题。实际上,我有总结数字的方法......当我宣布这样的方法时这样:
public Integer echo(int x, int y){
return new Integer(x+y);
一切正常,服务器给了我正确的答案。但有了这个:
public Integer echo(int... ys) {
int res = 0;
for (int num : ys){
res=res+num;
}
return new Integer(res);
}
我有一个例外:
Klient XML-RPC:org.apache.xmlrpc.XmlRpcException:java.lang.NoSuchMethodException:xmlrpcserwer.serwerRPC.echo(int,int)
我宣布错了吗?
答案 0 :(得分:0)
我认为您必须将服务器中的方法签名更改为:
public Integer echo(Object[] ys) {
int res = 0;
for (Object y : ys){
if (y instanceof Integer){
res=res+ (Integer) y;
}
}
return new Integer(res);
}
使用对象数组在客户端中调用。
我无法测试它,但似乎xmlrpc正在寻找与您实现的方法签名不同的方法签名。