Cxfrs client reponse not coming in body
Issue
Issue:
Camel loose exchange after web service call, keeping default exchange "InOnly" does not get response in the body after webservice call ,
by keeping "InOut" as an exchange print out bosy only in the first log statement after webservice call , after that exchange gets lost.
Output log :
ID: 1
Address: http://xxx.com/data/rest/pace/executeRequest.json?reqType=EAGLEMSG&paceSecId=99CX789P9&httpClientAPI=true
Http-Method: GET
Content-Type:
Headers: {breadcrumbId=[ID-KSOHAIL-P-P01-56228-1440167368822-0-1], org.apache.cxf.request.method=[GET], Connection=[Keep-Alive], Accept=[*/*]}
--------------------------------------
[yListener/PUT_DEV/data//update] LoggingInInterceptor INFO Inbound Message
----------------------------
ID: 1
Response-Code: 200
Encoding: ISO-8859-1
Content-Type: application/json
Headers: {connection=[Keep-Alive], content-type=[application/json], Date=[Fri, 21 Aug 2015 14:29:38 GMT], Keep-Alive=[timeout=5, max=100], Server=[Apache-Coyote/1.1], Set-Cookie=[JSESSIONID=6589C05EB97F9E7D4FF65B374A012F91; Path=/data/; Secure; HttpOnly], transfer-encoding=[chunked]}
Payload: [{some json response}]
--------------------------------------
HttpProcessor exchange pattern InOut
HttpProcessor exchange pattern InOut
HttpProcessor exchange pattern InOut
[yListener/PUT_DEV/data//update] direct:webservicecall INFO response body in result of pace client 33 : [some json response]
[yListener/PUT_DEV/data//update] direct:webservicecall INFO response body in result of pace client 34 : nothing prints here for body
[yListener/PUT_DEV/data//update] direct:webservicecall INFO response body in result of pace client 35: nothing prints here for body
and the route looks like the following:
<cxf:rsClient id="paceRequestClient"
address="http://xxx.com/data/rest/pace/executeRequest.json?reqType=EAGLEMSG&httpClientAPI=true"
loggingFeatureEnabled="true" loggingSizeLimit="200" skipFaultLogging="false">
<cxf:inInterceptors>
<ref bean="logInbound" />
</cxf:inInterceptors>
<cxf:outInterceptors>
<ref bean="logOutbound" />
</cxf:outInterceptors>
<cxf:outFaultInterceptors>
<ref bean="logOutbound" />
</cxf:outFaultInterceptors>
<cxf:inFaultInterceptors>
<ref bean="logInbound" />
</cxf:inFaultInterceptors>
<!-- <cxf:features>
<ref bean="loggingFeature" />
</cxf:features> -->
<!-- <cxf:headers>
<entry key="Charset" value="UTF-8" />
<entry key="Accept" value="application/json" />
</cxf:headers>
<cxf:providers>
<bean id="jsonDataProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
</cxf:providers> -->
</cxf:rsClient>
<camelContext>
<to uri="direct:webservicecall" />
<route id="direct:webservicecall">
<from uri="direct:webservicecall" id="direct:webservicecall" />
<camel:setExchangePattern pattern="InOut"></camel:setExchangePattern>
<to uri="cxfrs:bean:paceRequestClient" />
<process ref="httpProcessor" />
<setProperty propertyName="CXF_RESPONSE">
<simple>${body}</simple>
</setProperty>
<log message="response body in result of pace client 33 : ${body}" />
<log message="response body in result of pace client 34 : ${body}" />
<log
message="response body in result of pace client 35: ${property.CXF_RESPONSE}" />
<!-- <bean ref="eagleConverter" method="getExhangePropertyIn"/> -->
</route>
</camelContext>
Environment
Red Hat JBoss Fuse 6.2.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.