0

単純なJavaWebサービスに接続して投稿しようとしていますが、Chromeから投稿のURLを実行することは成功しましたが、Androidコードは次の行をスキップします(エラーをスローせずに)が、Webサービスは投稿を受け入れません

            HttpPost post = new HttpPost(setFacebookEventsAddress+userId+"/"+accesstoken);  
            post.setHeader("Accept", "application/json");
            post.setHeader("Content-type", "application/json");
            HttpResponse response = client.execute(post);

上記のリクエストを処理するWebサービスメソッドの署名:

    @GET
    @Path("setData/{user_id}/{accessToken}")
    @Produces(MediaType.APPLICATION_JSON+ ";charset=utf-8")
    public String setData(@PathParam("user_id")  String user_id,
                                @PathParam("accessToken")  String accessToken) {

私はブラウザを投稿することができたので、誰でも私のAndroidコードの何が問題になっているのかを手伝うことができますか?

4

2 に答える 2

2
        URL url = new URL(setFacebookEventsAddress+userId+"/"+accesstoken);
        HttpURLConnection con = (HttpURLConnection) url
                    .openConnection();
        ja = readStream(con.getInputStream());

HttpPost の代わりに HttpURLConnection を使用するとうまくいきました。すべてのヘルパーに感謝します!

于 2013-01-28T22:25:00.577 に答える
1

(証拠があれば)確実に言うことはできませんが、私の推測では、

setFacebookEventsAddress + userId + "/" + accesstoken 

は、Web ブラウザーから使用している URL とは異なる URL に評価されています。

次のことを試してみることをお勧めします。

  • サーバーでリクエストのログ記録を有効にし、送信されているリクエストの URL を比較します。

  • クライアントを変更して、応答ステータス コードと応答本文を出力します。後者は、より多くの手がかりを提供するエラー ページである可能性があります。


別の考えられる問題は、コードが POST 要求で本文を送信していないように見えることです。


これを再検討すると、GET のみをサポートするように構成した Web サービスに対して POST を使用または実行しようとしていたことが問題でした。ステータス コードを見れば、レスポンス コードが「サポートされていないメソッド」であることがわかると思います。

于 2013-01-28T11:45:42.600 に答える