Опция 'getWithBody' HttpComponent не работает в Apache Camel - PullRequest
0 голосов
/ 26 февраля 2020

Версия Apache Camel - 2.18.1

В документации для 2.x, https://camel.apache.org/components/2.x/http4-component.html, getWithBody и deleteWithBody * Предусмотрено 1009 * опций в качестве параметров запроса.

  • deleteWithBody (продюсер): должен ли HTTP DELETE включать тело сообщения или нет. По умолчанию HTTP DELETE не включает в себя тело HTTP. Однако в некоторых редких случаях пользователям может потребоваться включить текст сообщения. По умолчанию: false
  • getWithBody (производитель): должен ли HTTP GET включать тело сообщения или нет. По умолчанию HTTP GET не включает в себя тело HTTP. Однако в некоторых редких случаях пользователям может потребоваться включить текст сообщения. По умолчанию false

Но когда я объединяю один из этих двух параметров в конце URI конечной точки, он не распознается как опция. Вместо этого он передается в конечную точку как обычный параметр запроса, тогда как другие параметры параметра запроса обрабатываются как параметры компонента и не пересылаются в конечную точку.

Когда я проверяю исходный код, я вижу, что параметры распознаются сопоставление с полями и методами HttpEndpoint (org. apache .camel.component.http4) и HttpCommonEndpoint (org. apache .camel.http.common) классов. getWithBody и deleteWithBody поля не существуют в этих классах, в то время как другие поля можно найти среди полей этих классов.

Можно ли предположить, что документация неверна ? Если это так, как я могу добиться отправки тела с HttpComponent (Http4Component) Camel, в то время как http-метод - GET или DELETE?

1 Ответ

1 голос
/ 26 февраля 2020

Опция deleteWithBody была введена в Apache Верблюд 2.19.0. См. CAMEL-10916 .

Опция getWithBody была введена в Apache Camel 3.0.0 и перенесена на 2.25.0. См. CAMEL-14118 .

. Для такой старой версии используйте документы, заархивированные на github, они не публикуются на веб-сайте - https://github.com/apache/camel/blob/camel-2.18.x/components/camel-http4/src/main/docs/http4-component.adoc

Вы необходимо обновить до новой версии или реализовать пользовательский компонент, переопределяющий некоторые методы из компонента HTTP4. Нет возможности включить этот OOTB в 2.18.1.

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