Подтвердить что ты не робот

Предупреждение "[Параметры] Параметры: недопустимый фрагмент игнорируется" при отправке с управляемого bean

Я открываю HttpURLConnection из управляемой bean для публикации на внешнюю службу. Когда я вызываю вызов HttpUrlConnection.getInputStream(), я получаю следующее предупреждение:

WARN [Параметры] Параметры: Неверный фрагмент игнорируется

Все работает нормально, но я хотел бы оставить кучу этих предупреждений из наших журналов. Что вызывает это предупреждение и как я могу остановить его?

Вот соответствующий код:

@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
    ...
  }

}
4b9b3361

Ответ 1

Это предупреждение может возникать, когда строка запроса содержит недопустимый фрагмент, такой как параметр запроса без имени:

name1=value1&=value2&name3=value3

или в вашем конкретном случае, & в начале (по сути, первый фрагмент недействителен):

&name1=value1&name2=value2&name3=value3

Согласно комментариям, вы, кажется, подключаете HTTP к службе, которая работает в одном контейнере и записывается в один и тот же файл журнала. Это предупреждение на самом деле происходит из самого контейнера службы, а не из HttpURLConnection.

Ответ 2

Я удалил это предупреждение из своих журналов, добавив:

<category name="org.apache.tomcat.util.http.Parameters">
  <priority value="ERROR"/>

в мой конфигурационный файл jboss-log4j.xml. Раньше он был установлен на уровень TRACE.