ServiceMix provides several binding components that use the JAX-WS API to make a web service client invocation or to host a Java based web service and expose it over multiple protocols. We currently test against the JAX-WS RI though will soon be also testing against Celtix as well.
Making a web service invocation through JBI
The JBI binding for JAX-WS allows the JAX-WS API to be used to invoke a web service from a JBI message. In other words, the binding component uses JAX-WS to act as a web service client. The following example shows how to configure a service as a JAX-WS client.
All that is required is to point at the WSDL for the service and the client is automatically generated. The above assumes the WSDL has only a single port available; if a WSDL exposes multiple ports then you need to also supply the port QName.
Hosting a JAX-WS service inside ServiceMix
The other option is to host an actual Java and JAX-WS based web service implementation inside ServiceMix and expose it as an endpoint over one or more transport protocols.
The service needs to be defined with JAX-WS annotations as following.
Where Are the JAX WS Components
ServiceMix 2.0.x: the source code for the ServiceMix 2.0.x JAX WS components can be found at:
{{[servicemix_src_install_dir]\components\jaxws\src\main\java\org\servicemix\components\jaxws}}where [servicemix_src_install_dir] is the directory in which ServiceMix is installed.