...
Refer to the servicemix-wsn2005 for updated informations
...
We now use JAX-WS and JAXB 2.0 to create POJOs and interfaces for the common WS-* specifications like WS-Addressing, WS-Notification, WS-ReliableMessaging, WS-Resourceframework etc. The only downside of this approach is its Java 5 specific. We hope with a tool like Retroweaver can one day allow JAX-WS and JAXB 2.0 based code to work perfectly on Java 1.4 JVMs. For now if you want a solution for Java 1.4 we have the XMLBeans based solution you can try our previous effort of using XMLBeans.
Using JAXB / JAX-WS we create The wspojo module creates the POJOs and service interfaces for the common WS-* interfaces (WS-Notification, WS-RM, WS-Addressing, WS-Resource*). Here is the javadoc.
...
We have interfaces for the WS-Notification services in the org. servicemix.wspojo.notification package. e.g. here's the NotificationConsumer interface. These interfaces are generated by JAX-WS from the WSDLs and only depend on Java 5 and the JAX-WS and JAXB 2.0 annotations.
The the Then our implementation of these WS-Notification interfaces are here.
...
You can then publish WS-Notification messages as follows...
...
You can perform a subscription as follows
...
Runtime dependencies
Apart from the usual ActiveMQ dependencies (either client side only or full server side dependencies depending on if you're using an embedded broker) the WS-Notification provider has the following dependenciesand ServiceMix dependencies this implementation of WS-Notification depends on
- the JAX-WS and JAXB 2.0 APIs (annotations) which are included in Java 6, but on Java 5 you will need the jaxb-api.jar and jaxws-api.jar
- a JAX-WS implementation if you wish to support remote services over SOAP. We are currently using the JAX-WS RI
- xmlbeans-*.jar
- StAX API (stax-api-*.jar)
- a StAX implementation (either stax-ri-.jar or woodstox-.jar)
- activesoap-*.jar (only required for invoking remote WS services when dispatching notifications)