You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Alexandros Karypidis <ak...@yahoo.gr> on 2009/12/22 09:47:46 UTC
Newbie: CXF _client_ transport
Hello,
I have some SOAP messages inside a JMS queue. They are in XML format as
SOAP envelopes (i.e. if I had a CXF client endpoint using the JAX-WS
frontend, I would use the Dispatch<Source> interface to transmit the
messages).
Up until now, I was using the "camel-http" module to deliver the
messages to a web service provider located on a remote machine, with a
configuration that looks like this:
<beans
xmlns:camel-cfg="http://camel.apache.org/schema/spring"
xmlns:camel-cxf="http://camel.apache.org/schema/cxf"
....
<camel-cfg:camelContext id="camelContext" trace="true" >
<camel-cfg:route>
<camel-cfg:from uri="jms:queue:some-Queue" />
!! <camel-cfg:to
uri="http://somehost:8288/app/services/SomeProvider" />
</camel-cfg:route>
</camel-cfg:camelContext>
....
A requirement has come up to deliver these messages using
WS-ReliableMessaging. Therefore I can't use the http connector anymore.
I need to set up a CXF client endpoint and have the SOAP messages leave
through the client stack, so that WS-RM processing can occur.
I have used the CXF module to include local "provider" endpoints
(uri="cxf:bean:...") but now I need to route to a "client" endpoint. How
would I go about doing that?
Thank you in advance
Re: Newbie: CXF _client_ transport
Posted by Willem Jiang <wi...@gmail.com>.
Hi,
As you already get a SOAP message from he JMS queue, it is not easy to
just add the WS-RM SOAP header information directly from camel-cxf
endpoint or camel-http endpoint.
Maybe you can consider to pass the message into a bean method[1], in
that method you can call use CXF client to call Dispatch API.
[1]http://camel.apache.org/bean-binding.html
Willem
Alexandros Karypidis wrote:
> Hello,
>
> I have some SOAP messages inside a JMS queue. They are in XML format as
> SOAP envelopes (i.e. if I had a CXF client endpoint using the JAX-WS
> frontend, I would use the Dispatch<Source> interface to transmit the
> messages).
>
> Up until now, I was using the "camel-http" module to deliver the
> messages to a web service provider located on a remote machine, with a
> configuration that looks like this:
>
> <beans
> xmlns:camel-cfg="http://camel.apache.org/schema/spring"
> xmlns:camel-cxf="http://camel.apache.org/schema/cxf"
> ....
> <camel-cfg:camelContext id="camelContext" trace="true" >
> <camel-cfg:route>
> <camel-cfg:from uri="jms:queue:some-Queue" />
> !! <camel-cfg:to
> uri="http://somehost:8288/app/services/SomeProvider" />
> </camel-cfg:route>
> </camel-cfg:camelContext>
> ....
>
> A requirement has come up to deliver these messages using
> WS-ReliableMessaging. Therefore I can't use the http connector anymore.
> I need to set up a CXF client endpoint and have the SOAP messages leave
> through the client stack, so that WS-RM processing can occur.
>
> I have used the CXF module to include local "provider" endpoints
> (uri="cxf:bean:...") but now I need to route to a "client" endpoint. How
> would I go about doing that?
>
> Thank you in advance
>
>