2014-11-03 32 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