私はJBoss GuvnorパッケージをREST APIを使用して移行するアプリケーションを作成しています。基本的には、REST GETリクエストを通じてすべてのアセットを読み取り、PUT/POSTリクエストを使用して別のGuvnorに書き込みます。ここでPOSTメソッドでJava HttpURLConnectionsがHttp 500エラーを返すのはなぜですか?
は、投稿を行い、私の方法の少し抜粋です:それは作品
HttpURLConnection conn = (HttpURLConnection) path.getURL()
.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-type", path.getType().getAcceptMIME());
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("Authorization", "Basic " + authString);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
conn.getOutputStream()));
bw.write(content);
bw.flush();
conn.connect();
、すべての資産が移行されているが、毎回conn.getResponseCode()
は500とconn.getResponseMessage()
戻り内部サーバーエラーを返します。
私はJavaでHTTP要求を処理するのが新しく、これが起こっている必要があるのかどうか、なぜそれが起こっているのか、それが私のスニペットの何らかの障害に起因するのか、それともサーバー側(Guvnors )バグ?
すでに 'conn.getOutputStream()'を呼び出した後に 'conn.connect()'を呼び出す必要はありません。いつ、どこで、レスポンスコードとレスポンスメッセージをテストしていますか?私はあなたの質問の例を見ることができません。 –
レスポンスコード/メッセージは後で呼ばれますが、それは実際には問題ありません.Wiresharkを聞いていてもHTTP 500を参照してください。 – r3mbol