2016-08-17 4 views
0

у меня есть верблюд маршрут сконфигурированный:POSTING JSON для REST службы с Camel

<camelContext id="camel" trace="true" xmlns="http://camel.apache.org/schema/spring"> 
    <route id="demo-rest-route"> 
     <from uri="activemq:queue:demo.rest"/> 
     <!--<setBody inheritErrorHandler="true" id="setBody2"> 
      <simple>name=${body}</simple> 
     </setBody>--> 
     <setHeader headerName="Content-Type" inheritErrorHandler="true" id="setHeader3"> 
      <constant>Content-Type: application/json;</constant> 
     </setHeader> 
     <setHeader headerName="Exchange.HTTP_METHOD"> 
      <constant>POST</constant> 
     </setHeader> 
     <toD uri="http://localhost:8181/cxf/person" /> 
    </route> 
</camelContext> 

я могу отправить JSON вручную с HttpRequester или т.п. без проблем, но маршрут вызывает 415-неподдерживаемую ошибку типа носителя. Я попытался установить заголовок, но я думаю, что там что-то отсутствует.

ответ

0

Я использовал неправильный Content-Type Definiton ... Он должен выглядеть следующим образом:

<setHeader headerName="Content-Type" inheritErrorHandler="true" id="setHeader3"> 
     <constant>application/json</constant> 
    </setHeader> 

или будет недопустимый тип содержимого.

Смежные вопросы