WebLogic возвращает неверный запрос на пустой запрос заголовка узла - PullRequest
3 голосов
/ 28 июня 2019

Я пытаюсь вызвать WebService, размещенный на сервере WebLogic. Каждый раз, когда я вызываю его с пустым значением в заголовке «host», я получаю ответ «400 - Bad Request». Если я помещу что-то в заголовок хоста, запрос в порядке, и я могу использовать WS. RFC говорит:

Клиент ДОЛЖЕН включать поле заголовка узла во все запросы HTTP / 1.1. Сообщения . Если запрошенный URI не включает в себя Интернет-хост имя запрашиваемой услуги, тогда поле заголовка хоста ДОЛЖНО быть дано с пустым значением

Когда я отправляю хост с пустым значением, я отправляю URI без имени хоста, поэтому по RFC у меня все в порядке.

Это мой HTTP-заголовок, который получает неверный запрос:

POST /myContent/myWebService HTTP/1.1
SOAPAction: mySOAPcall
Connection: Keep-Alive
Host: 
Content-Type: text/xml;charset=UTF-8
Content-Length: 709

Если я поставлю хост, он отлично работает:

POST http://mydomain.com.br/myContent/myWebService HTTP/1.1
SOAPAction: mySOAPcall
Connection: Keep-Alive
Host: mydomain.com.br
Content-Type: text/xml;charset=UTF-8
Content-Length: 709

Я что-то упустил в запросе с пустым заголовком узла?

1 Ответ

0 голосов
/ 08 июля 2019

Глядя на спецификации RFC, я не смог найти следующую цитату:

Клиент ДОЛЖЕН включать поле заголовка хоста во все сообщения HTTP / 1.1 запроса.Если запрошенный URI не включает имя хоста Интернета для запрашиваемой услуги, тогда поле заголовка хоста ДОЛЖНО быть задано с пустым значением

Однако в разделе 3.2 я обнаружил, что:

Неправильные пробелы вокруг имен полей теперь необходимо отклонять, поскольку их принятие представляет собой уязвимость системы безопасности.Продукция ABNF, определяющая поля заголовка, теперь перечисляет только значение поля.(Раздел 3.2)

https://tools.ietf.org/html/rfc7230#section-3.2

Возможно ли, что пустое значение интерпретируется как недопустимый пробел?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...