camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: Proposal for the CXF and Camel integration
Date Wed, 08 Aug 2007 07:57:57 GMT
On 8/8/07, Willem Jiang <willem.jiang@gmail.com> wrote:
> Hi
>
> In the single jvm we could use local transport to send/receive the Camel
> message, but we just need other transport the send/receive the Camel
> message for separate jvms communication .
>
> I have same idea we should just wrap the transport factory in the CXF,
> and Camel not need to touch it. I am also working on it to make a simple
> demo work.
>
> For the CXFEndpoint part, I don't think the orginal design of CXF
> endpointInfo with adress is enough,
> It should hold enough information which we need to setup a CXF server or
> client, such as sei class name , wsdl url etc.
> The URI could be
> cxf://http://localhost:1234/test?wsdl=file://local/helloworld.wsdl&serviceName=.....
>
> But I don't think we can hold so many information in a single URI
> string. eg. we just want to pass a service implementor's reference to
> the ServiceFactoryBean.
> James: Is there a way to use spring to wire up the endpoint information
> for CXF?
> In CXF we could use a jaxws syntax to setup the CXF server and client
>
>   <jaxws:server id="inlineSoapBinding"
>     serviceClass="org.apache.cxf.jaxws.service.Hello"
>     address="http://localhost:8080/test">
>      <jaxws:serviceBean>
>       <bean ref="#helloworld"/>
>     </jaxws:serviceBean>
>     <jaxws:binding>
>       <soap:soapBinding mtomEnabled="true" version="1.2"/>
>     </jaxws:binding>
>   </jaxws:server>
>    ....
>  <jaxws:client id="wsdlLocation"
>     serviceClass="org.apache.hello_world_soap_http.Greeter"
>     serviceName="s:SOAPService"
>     xmlns:s="http://apache.org/hello_world_soap_http"
>     address="http://localhost:8080/simpleWithAddress"
>     wsdlLocation="wsdl/hello_world.wsdl"/>

If there's a ton of configuration then we could always configure this
stuff using the normal CXF way in spring.xml - then just refer to it
by name (spring id/name) from Camel.


> As you know CXF has two front end that we could use , one is simple
> front end and the other is jaxws front end.
> May be we need to do some work to auto discover which front end we need
> to create the right CXF server or client.
>
> BTW , we still need to set up the CXF interceptors for the CXF consumer
> and CXF producer, which we can handler different message mode such as
> POJO mode, Payload mode and Message mode :)
> Now I am not clear about howto configure it :( and I don't think we can
> do it in endpoint's URL.

OK. Lets start with the easy stuff and gradually get more complex.

So how about for now we assume CXF client or servers are configured in
spring outside of camel; then we try write a camel
endpoint/producer/consumer so we can consume camel messages and send
them to the CXF service, or we can get a CXF client to send to a camel
producer?

(We can worry about things like POJO v Payload v Message mode later on)

-- 
James
-------
http://macstrac.blogspot.com/

Mime
View raw message