Apache Camel получил неверный запрос статуса 400 от конечного компонента AWS VPC - PullRequest
1 голос
/ 23 апреля 2019

У меня есть Java-приложение, созданное с использованием Apache Camel. Приложение использует Apache Camel для создания HTTP-запроса к конечной точке AWS VPC.

Когда приложение Java отправляет HTTP-запрос, оно получает код состояния HTTP 400 (неверный запрос). Журнал потока VPC может быть найден с трафиком (правильные IP-адреса источника и назначения).

С другой стороны, если мы используем команду curl для отправки того же HTTP-запроса, возвращается 200 OK.

Какая возможная причина? Есть ли какая-либо конфигурация в Apache Camel, чтобы увидеть, какой именно HTTP-контент или необработанный HTTP-заголовок / сообщение отправлено?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Возможно, вы отправляете заголовки, которые не разрешены API, поскольку Camel автоматически отображает заголовки сообщений на заголовки HTTP.

Компонент camel-http4 использует библиотеку Apache HttpClient 4.x, и вы можете настроить ее для регистрации необработанных http-запросов.

Например, с log4j вы добавили бы в свойства:

log4j.logger.org.apache.http=DEBUG

Подробные параметры ведения журнала можно посмотреть здесь: https://hc.apache.org/httpcomponents-client-4.5.x/logging.html

0 голосов
/ 23 апреля 2019

Вы можете проверить, доступны ли Content-Type и другие обязательные заголовки запроса на Exchange.in.headers. Просто войдите в систему .headers в простой верблюжий тег. Я думаю, что 400 происходит из-за неправильного типа контента или плохой полезной нагрузки.

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