2017-09-01 3 views
0

Mein Kamel Route ist ein CXF-Empfänger & es muss einen anderen WebService aufrufen. Ich habe die Anfrage im Header & angeforderten zweiten Service gespeichert. Nach dem Erhalten der Antwort kann ich die ursprüngliche Anforderung, die im Header festgelegt wurde, nicht abrufen. Meine Route wie folgt aussieht:Camel CXF Komponente: Header fehlen nach Serviceantwort

<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" /> 

Fehlermeldung: Kein Körper verfügbar Typ:

com.customer.requestcustomeremail.SendEmailRequest hat aber Wert: com.customer .requestcustomeremail.SendEmailRequest @ 1bcd32c6 vom Typ: java.lang.String on: Nachricht []. Veranlasst durch: Es ist kein Typkonverter verfügbar, der vom Typ java.lang.String in den erforderlichen Typ konvertiert werden kann: com.customer.requestcustomeremail.SendEmailRequest mit Wert [email protected] Austausch [ID-SYNPS31625-50686-1504258200956-0-2]. Verursacht durch: [org.apache.camel.NoTypeConversionAvailableException - Kein Typ Konverter zur Verfügung vom Typ konvertieren: java.lang.String zum erforderlich Typ: com.customer.requestcustomeremail.SendEmailRequest mit Wert com.customer.requestcustomeremail .SendEmailRequest @ 1bcd32c6]

Kann mir bitte jemand helfen!

Antwort

0

Ihre Route kann Ihren Körper nicht in com.customer.requestcustomeremail.SendEmailRequest konvertieren.

+0

Sie können für den Test versuchen, nicht Ihren Körper konvertieren, und sehen, ob yuo einen ähnlichen Fehler haben wird. –