2015-04-01 3 views
0

Я пытаюсь отправить http-вызов через Apache Camel с помощью camel-http.Apache Camel HTTP/HTTP4 игнорирует заголовок Content-Type

Когда я устанавливаю заголовок Content-Type, он игнорирует заголовок и не включает его в вызов.

Я попытался установить заголовок имеет следующие:

exchange.getOut().setHeader('Content-Type', 'application/json'),

и

exchange.getOut().setHeader(Exchange.CONTENT_TYPE, 'application/json');

Я также попытался с помощью верблюд-клиента и верблюжьей http4 и не работать с любым из них.

Поскольку я должен обязательно отправлять заголовок Content-Type, как я могу заставить Camel-HTTP включить его?


Примечание: Я также установка другие заголовки так же, как правильно отправить с вызовом, это просто Content-Type тот, который не работает

+0

Вы видели эту дискуссию? http://camel.465427.n5.nabble.com/Http4-Set-Header-Content-Type-not-passing-through-to-the-HTTP-Request-td5746414.html – Sergey

+0

В качестве обходного пути установка тела в пустой json-документ, '{}', camel-http автоматически определяет, что тип содержимого - application/json, и устанавливает правильный заголовок Content-Type. –

ответ

1

Вам нужно сделать что-то вроде для установки Content-Type:

<setHeader headerName="Content-Type"> 

     <constant>application/json</constant> 

</setHeader> 

Это будет работать, чтобы установить Content-Type.

+0

Это именно то, что я делаю, но если тело пустое, верблюд-http/camel-http4 автоматически удаляет заголовок Content-Type. –

+0

Вы должны установить тело после того, как вы установите заголовок Content-Type. Как следующий: {текст JSon для тела здесь } ' ' – nerdyoutdoorsman

+0

Он отлично работает для меня! Большой ! –