2017-12-15 9 views
1

im done oracleサービスバス11gにREST APIを設定しました。私はOSB上でテストコンソールを試してみましたが、それはうまく動作し、JSON形式で結果を返します。しかし、JavaでREST APIを呼び出すと問題が発生します。Oracleサービスバス11G REST API OSBに接続するときにJavaでソケットの問題が発生しています

エラーメッセージとコード

the URL that i fired is URL of OSB proxy service, then it will call to REST URL endpoint

私が得たエラーを表示するには、以下のハイパーリンクをクリックしてください: it shows socket exception and related to the input stream

+0

タスクを完了したら接続を閉じます。 –

+0

@ HithamS.AlQadheeb私は "conn.disconnect();私は要求を読んだ後。しかし、ログは、httpの後に起こったエラーのように、他のエンドからの応答を取得すると、Javaが応答を読み込んだときに戻ってくる "BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));" – kyleeee

+0

一部のコードスニペット –

答えて

0

LOGGER.info(conn.getResponseMessage()); 

を外し、Accept

を変更それでも問題を取得している場合は
conn.setRequestProperty("Accept", "application/json"); 

は、それからちょうど

if (conn.getResponseCode() != 200) { 
    throw new RuntimeException("HTTP Response Code: " + conn.getResponseCode()); 
} 

BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); 

// . . . 

conn.disconnect(); 

を行い、それはあなたがコードを送信している要求は、ブラウザと同じではないことを意味します。これを解決するには、ブラウザのリクエストの詳細を確認し、User-AgentPOST/GETなど、リクエストヘッダーが完全に一致していることを確認します。あなたはネットワークを聴くことができます。 HTTPリクエストの詳細を特定するのに役立つ多くのツールがあります。

関連する問題