This seems very specific to how Mule and CXF are wired together.   Probably 
best to ask on the Mule lists.

Dan


On Wednesday 21 January 2009 4:42:00 pm plester3738 wrote:
> 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!



-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to