We 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 If you want an XMLBeans based solution you can try our previous effort of using XMLBeans.
WS-Notification
The WS-Notification support is currently implemented as a POJO; which can then either be called directly inside an application or can be wrapped up as a remote web service using some web service stack such as ActiveSOAP.
For more detail, try the javadocs
We have interfaces for the WS-Notification services in the org. servicemix.ws.notification package. These interfaces just depend on the XMLBeans generated from the WSDLs.
e.g. here's the NotificationConsumer interface
Using WS-Notification
To be able to publish or subscribe you need either a NotificationConsumer or NotificationBroker. The current implementation of both is the ActiveMQNotificationBroker - which will create a connection to an ActiveMQ broker (by default making an embedded broker inside the same JVM].
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 dependencies
- 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)