Example: Creating a Notification consumer web service skeleton

Use this example when creating a web service that implements the NotificationConsumer portType defined by the Web Services Base Notification specification.

About this task

This task provides two code examples:
  • An example WSDL document that describes a web service that implements the NotificationConsumer portType defined by the Web Services Base Notification specification.
  • A basic implementation of the Service Endpoint Interface (SEI) generated from the preceding WSDL document using the WSDL2Java tool.
Note: The article Writing JAX-WS applications for WS-Notification also includes an example of a consumer Web service.

Procedure

If you are creating a Notification consumer web service skeleton, see the following code examples.

Example

The following example WSDL document describes a web service that implements the NotificationConsumer portType defined by the Web Services Base Notification specification:

<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:wsn-bw="http://docs.oasis-open.org/wsn/bw-2"
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="uri:example.wsn/consumer"
    targetNamespace="uri:example.wsn/consumer">

    <wsdl:import namespace="http://docs.oasis-open.org/wsn/bw-2"
                           location="http://docs.oasis-open.org/wsn/bw-2.wsdl" />

    <wsdl:binding name="NotificationConsumerBinding" type="wsn-bw:NotificationConsumer">
        <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="Notify">
            <wsdlsoap:operation soapAction="" />
            <wsdl:input>
                <wsdlsoap:body use="literal" />
            </wsdl:input>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="NotificationConsumerService">
        <wsdl:port name="NotificationConsumerPort" binding="tns:NotificationConsumerBinding">
            <wsdlsoap:address location="http://myserver.mycom.com:9080/Consumer" />
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>

The following example shows a basic implementation of the Service Endpoint Interface (SEI) generated from the preceding WSDL document using the WSDL2Java tool:

public class ConsumerExample implements NotificationConsumer {
        
    public void notify(NotificationMessage[] notificationMessage, SOAPElement[] any) 
                                                                    throws RemoteException {
        // Process each NotificationMessage
        for (int i=0; i<notificationMessage.length; i++) {                
            NotificationMessage message = notificationMessage[i];
                
            // Get the contents of the message
            SOAPElement messageContent = message.getMessageContents();
                
            // Get the expression indicating which topic the message is associated with
            TopicExpression topic = message.getTopic();                
                
            // Get a reference to the producer (this value is optional and so might be null)
            EndpointReference producerRef = message.getProducerReference();
                
            // Get a reference to the subscription (this value is optional and so might be null)
            EndpointReference subscriptionRef = message.getSubscriptionReference();
                
            // User defined processing ...                

        }
    }
}



In this information ...


Related concepts

IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic Task topic    

Terms of Use | Feedback

Last updatedLast updated: Sep 19, 2011 3:08:41 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-nd-zos&topic=tjwsn_ex_cons
File name: tjwsn_ex_cons.html