As some people have already seen, I have began to commit some code in CXF for a better integration with JBI, and especially ServiceMix. I have added the following modules to the CXF source tree: * rt/bindings/jbi * rt/transports/jbi
Let me explain my thoughts about CXF / JBI. For those who don't know, JBI has two concepts which are Binding Components and Service Engine. The Binding Component is in charge of the protocol normalization, while the Service Engine is in charge of providing a business service. In CXF, both are linked somehow, but for a good JBI integration, they need to be split. The two modules (JBI binding and JBI transport) will be used in a Service Engine. The transport was taken from the JBI integration in CXF and updated a bit, while the binding is new. The binding is in charge of transforming the JBI normalized message (using a wrapper defined in the JBI spec for WSDL 1.1 messages) to / from CXF messages. Another component will be a Binding Component which will transform an incoming soap message to a JBI normalized message, while handling all the WS-* specifications. It will also handle the client side. I have also started to slightly enhance the tooling side so that you could use JAX-WS client side to call a JBI service when inside the JBI bus. The CXF JBI transport and binding are available at: * http://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/bindings/jbi/ * http://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/transports/jbi/ The ServiceMix SE and BC are available at: * http://svn.apache.org/repos/asf/incubator/servicemix/trunk/deployables/serviceengines/servicemix-cxf-se/ * http://svn.apache.org/repos/asf/incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-cxf-bc/ There are still lots of areas that need to be worked on: * actually integrate ws-addressing, ws-security, ws-rm, ws-policy in the BC * handler definitions in xml for BC / SE * the client side of the BC * testing (document, rpc, wrapped + headers, client side, all ws-* stuff, tooling) * documentation So any volunteers are welcome :-) -- Cheers, Guillaume Nodet ------------------------ Principal Engineer, IONA Blog: http://gnodet.blogspot.com/