0

我正在尝试使用此库https://github.com/timroes/aXMLRPC从 Android(http://foxrate.org/) 调用此 XML-RPC 方法

调用代码为:

        XMLRPCClient client = new XMLRPCClient(new URL("http://www.foxrate.org/rpc/"));
    try {
        Object o = client.call("foxrate.currencyConvert", "USD","GBP",(double)1);
    } catch (XMLRPCException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

它生成正确的 XML 调用,但服务器返回 Http 错误代码 301。当我尝试使用 POSTER 插件从 firefox 执行此调用时,它工作正常。

4

2 回答 2

1

HTTP 301 状态码表示服务器想要转发到另一个 URL。

在这种情况下,它想要删除“www”并重定向到 foxrate.org/rpc。

如果您希望 aXMLRPC 客户端遵循此重定向(在默认模式下不这样做),请使用FLAGS_FORWARDflag。代码的第一行应如下所示:

XMLRPCClient client = new XMLRPCClient(new URL("http://www.foxrate.org/rpc/"), FLAGS_FORWARD);

您会在文档中找到更多标志——如果发生其他情况(如无效的 SSL 证书;))。

当然,您也可以直接使用http://foxrate.org/rpc作为 URL,但这太简单了 :) (他们可能会稍后将其更改为其他重定向。)

于 2012-07-24T23:26:43.370 回答
0

使用这个http://code.google.com/p/android-xmlrpc/

它非常好,对我来说效果很好。

于 2012-07-14T13:32:27.003 回答