Компонент Camel CXF: отсутствуют заголовки после ответа службы
Мой верблюжий маршрут - это приемник CXF, и он должен вызвать другой веб-сервис. Я сохранил запрос в шапке и запросил второй сервис. После получения ответа я не могу получить исходный запрос, указанный в заголовке. Мой маршрут выглядит так:
<route customId="true" id="wsRoute">
<from uri="cxf:bean:ServiceEndpoint"/>
<convertBodyTo type="com.customer.requestcustomeremail.SendEmailRequest"/>
<setHeader headerName="req">
<simple>${body}</simple>
</setHeader>
<to uri="bean:IDBReq"></to>
<to uri="cxf:bean:idamServiceEndpoint"/>
<setBody>
<simple>
${header.req}
</simple>
</setBody>
<to uri="bean:ServiceImpl?method=oper" />
Сообщение об ошибке: тело недоступно типа:
com.customer.requestcustomeremail.SendEmailRequest, но имеет значение: com.customer.requestcustomeremail.SendEmailRequest@1bcd32c6 типа: java.lang.String on: Message[]. Причина: нет конвертера типов, доступного для преобразования из типа: java.lang.String в требуемый тип: com.customer.requestcustomeremail.SendEmailRequest со значением com.customer.requestcustomeremail.SendEmailRequest@1bcd32c6. Обмен [ID-SYNPS31625-50686-1504258200956-0-2]. Вызывается: [org.apache.camel.NoTypeConversionAvailableException - нет преобразователя типа, доступного для преобразования из типа: java.lang.String в требуемый тип: com.customer.requestcustomeremail.SendEmailRequest со значением com.customer.requestcustomeremail.SendEb]
Может кто-нибудь, пожалуйста, помогите!
1 ответ
Ваш маршрут не может преобразовать ваше тело в тип com.customer.requestcustomeremail.SendEmailRequest.