我正在从一个托管的bean中打开一个HttpURLConnection来发布到一个外部服务.当我打电话给HttpUrlConnection.getInputStream()我得到以下警告:
WARN [Parameters] Parameters : Invalid chunk ignored
一切进程都很好,但是我想把一些这些警告从我们的日志中删除.是什么导致这个警告,我该如何阻止它发生?
以下是相关代码:
@ManagedBean
@SessionScoped
public class MyController {
private void doStuff() {
...
URL url = new URL(externalServiceUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(postData);
wr.flush();
InputStream is = conn.getInputStream(); // Warning logged after this line
...
}
}
解决方法
每当查询字符串包含无效的块(例如没有名称的请求参数)时,就会发生此警告:
name1=value1&=value2&name3=value3
或在您的具体情况下,在开始(基本上,第一个组块是无效的):
&name1=value1&name2=value2&name3=value3
根据注释,您似乎是HTTP连接到在同一容器上运行的服务,并记录到同一个日志文件.该警告实际上来自服务容器本身,而不是来自HttpURLConnection.
