我有一个核心服务器和一个网关服务器。只有网关与 CORE 交互。
其中一项请求必须与外部合作伙伴进行交互,其中包括以下步骤。
- CORE 向 GATEWAY 发送请求并等待响应
- GATEWAY 将请求发送到 EXTERNAL 并将响应发送回 CORE
在 CORE 服务器中,我得到了这个 IOException
java.io.IOException: Server returned HTTP response code: 504 for URL: someurl
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
我认为 IOException 是因为我使用urlConnection.getInputStream()
的是urlConnection.getErrorStream()
.
urlConnection.connect();
OutputStreamWriter osw = new OutputStreamWriter(urlConnection.getOutputStream());
BufferedWriter buffWriter = new BufferedWriter(osw);
buffWriter.write(request.toString());
buffWriter.flush();
buffWriter.close();
osw.close();
InputStreamReader isr = new InputStreamReader(urlConnection.getInputStream());
BufferedReader buffRead = new BufferedReader(isr);
无法弄清楚为什么我收到错误 504。
GATEWAY 服务器成功获得响应,我认为那里没有问题。
我已经处理了 HTTPSrequestsender 的 SocketTimeoutException、ConnectException、FileNotFoundException 异常。