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.

Reply via email to