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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
