多个args的方法 - xml-rpc

时间:2014-11-03 18:25:19

标签: java xml-rpc

我在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)

我宣布错了吗?

1 个答案:

答案 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正在寻找与您实现的方法签名不同的方法签名。

https://ws.apache.org/xmlrpc/types.html