Given the following service, I'd like to keep track of the given correlation
ID when the call returns from the web service, but I have not be able to
figure out how to it. Here is an example:
<service name="myService">
<inbound>
<inbound-endpoint address="jms://request.queue"/>
</inbound>
<component class="com.mycompany.MyUMO"/>
<outbound>
<chaining-router>
<cxf:outbound-endpoint
address="http://some.webservice.com/services/SomeWebService"
remoteSync="true"
clientClass="com.mycompany.webservice.client.MyClientService"
wsdlPort="TheWebServicePort"
wsdlLocation="downloaded.wsdl" />
<outbound-endpoint address="jms://queue.result.somequeue" />
</outbound>
</service>
class MyUMO {
public MuleMessage doSearch(Search search) {
String correlationId = search.getQueueName();
MuleMessage mm = null;
// create the request object based on the input
Request request = new Request()
... Set the proper values ...
mm = new DefaultMuleMessage(request,(Map) null);
mm.setCorrelationId(correlationId);
return mm;
}
Everything goes through properly, except that as a return value from the
call to the web service, I receive a ResponseList, which is correct for the
web service, but then I have no way to get the correlation ID that was sent
in and I need this because it is actually the name of the queue where I will
need to deposit the response.
How can I get the correlation ID?
Thanks!
--
View this message in context:
http://www.nabble.com/How-to-maintain-correlation-ID-across-CXF-web-service-call--tp21592869p21592869.html
Sent from the cxf-user mailing list archive at Nabble.com.