我正在从一个托管的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 ... } }
解决方法
@H_403_15@ 每当查询字符串包含无效的块(例如没有名称的请求参数)时,就会发生此警告:name1=value1&=value2&name3=value3
或在您的具体情况下,在开始(基本上,第一个组块是无效的):
&name1=value1&name2=value2&name3=value3
根据注释,您似乎是HTTP连接到在同一容器上运行的服务,并记录到同一个日志文件.该警告实际上来自服务容器本身,而不是来自HttpURLConnection.