2014-11-03 59 views
0

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

我说错了吗?

回答

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