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_FORWARDフラグを使用します。コードの最初の行は次のようになります。

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 に答える