我正在使用从另一个Weblogic服务器中部署的应用程序部署在远程Weblogic服务器中的Web服务。下面是我使用的代码
URL url = new URL(URL);
String authString = "USR_NM:PWD";
String encodeingUserPwd = new BASE64Encoder().encode(authString.getBytes());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Authorization", "Basic " + encodeingUserPwd);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
OutputStream os = conn.getOutputStream();
os.write(JSONREQUEST.getBytes("UTF-8"));
os.close();
InputStream content = (InputStream)conn.getInputStream();
String jsonString = IOUtils.toString(content, "UTF-8");
以上代码可以正常工作,并且我能够使用该服务一段时间。但是一段时间后,出现以下错误。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Size of a request header field exceeds server limit.<br />
<pre>
ECID-Context
</pre>
</p>
</body></html>
除了请求标头中,我什么都不发送。此外,远程服务器已启动,当我在Postman中尝试时,我能够得到响应。
如果这是由于错误的请求造成的,那么我能够以很少的请求使它工作。我对导致此问题的原因感到困惑?任何帮助表示赞赏。