Can I have a look at the code of your sifProcessor ?
BTW, can you write some log to check if the bean of sifLoopbaanImpl is
called ?
Willem
Bruno Dusausoy wrote:
Hi,
I have a CXF consumer endpoint defined in Spring;
I use it as entry point for my route, like this :
<camelContext xmlns="http://camel.apache.org/schema/spring">
<package>be.ucm.career</package>
<route>
<from uri="file:c:\\tempIn?fileName=quarterly-upload.xml" />
<bean ref="uploadBean" />
</route>
<route>
<from uri="cxf:bean:sifLoopbaanService"/>
<process ref="sifProcessor"/>
<bean ref="sifLoopbaanImpl"/>
</route>
</camelContext>
<cxf:cxfEndpoint id="sifLoopbaanService"
address="/sifLoopbaan"
serviceClass="be.ucm.cas.career.inasti.loobpaan.SifLoopbaan">
</cxf:cxfEndpoint>
<jaxws:client id="uploadClient"
serviceClass="be.ucm.cas.career.inasti.loobpaan.NisseLoopbaan"
address="http://localhost:9090/inasti-careers-mock/nisseLoopbaan"/>
<bean id="sifLoopbaanImpl"
class="be.ucm.soa.webservices.career.sif.SifLoopbaanImpl">
<property name="daoFacade" ref="daoFacade"/>
<property name="ackCareersUploadToAckMapper"
ref="ackCareersUploadToAckMapper"/>
<property name="dozerMapper" ref="dozerMapper"/>
</bean>
The sifProcessor just capitalizes the operation name and put it in the
exchange header so that it gets the right method/operation matching.
The class SifLoopbaanImpl implements the generated interface coming from
the WSDL and returns a reponse to the caller.
But the caller never gets the response back.
I've read
http://camel.apache.org/tutorial-example-reportincident-part5.html where it
says :
"So how do we return a response to the webservice?
Houston we have a problem! Well of course not but the mindset have to be
changed slightly to understand the routing concept, and how it works. So
let's step back a bit. What we have here is a webservice that we expose.
And our webservice is synchronous request/response based so the caller
waits for a response. This is a InOut Message Exchange Pattern. Camel will
default use InOut for webservices so we don't need to specify this
explicitly. When we have a InOut pattern then Camel will return the
response to the original caller when the routes ends."
So normally it should return the response to the caller since it it the
end of the route, but obviously it doesn't.
Has this something to do with the processor lying between the endpoint and
the bean ?
What am I doing wrong ?
Regards.