...
Requirements
We should support to deploy cxf client(as service consumer) and cxf server (as service provider) easilly into servicemix.
We need a cxf service engine where we can deploy cxf client and server into. As a service engine (SE) provides some type of logic inside the JBI environment and only communicates with the NMR. If a Cxf SE needs to communicate outside the JBI environment (e.g. the client inside servicemix but server outside servicemix or vice verse), it must send a message to a binding component (via the NMR), so we also need a cxf binding component to bridge the incoming/outgoing message. And Also we should leverage ws-* feature of CXF by cxf binding component.
key
...
components
cxf service engine
overview
...
We have test cases almost cover all features of cxf bc and se, such as *
- proxy
...
- ws-policy
...
- ws-security
...
- ws-rm
...
- ws-addressing
...
- MTOM
...
- multiple transport support
...
- oneway
...
- Exception
Go through these tests for servicemix-cxf-se and servicemix-cxf-bcsome tips
what JBI binding message looks like
Code Block lang xml <jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://apache.org/cxf/calculator" name="add" type="msg:add" version="1.0"> <jbi:part> <add xmlns="http://apache.org/cxf/calculator/types"> <arg0>1</arg0> <arg1>2</arg1> </add> </jbi:part> </jbi:message>
what SOAP binding message looks like
Code Block lang xml <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Body> <add xmlns="http://apache.org/cxf/calculator/types"> <arg0>1</arg0> <arg1>2</arg1> </add> </soap:Body> </soap:Envelope>
can cxf component work with other component inside servicemix
Yes, provided those
...
- components can hanle the normalized JBI message.