Beispiel: Einen WS-Notification-Pull-Punkt erstellen

Verwenden Sie diese Task, um den Code für einen JAX-RPC-Subskribentenclient zu schreiben. Dieser Client erstellt einen Pull-Punkt für Konsumenten, die Benachrichtigungen im Pull-Stil verwenden.

Informationen zu dieser Task

Dieses Beispiel basiert auf der Verwendung der JAX-RPC-APIs (Java™ API for XML-based Remote Procedure Calls) mit Code, der mit dem Tool WSDL2Java generiert wurde (für die als Ergebnis der Erstellung Ihres WS-Notification-Servicepunkts generierte Notification-Broker-WSDL ausführen), und WebSphere® Application Server -APIs und -SPIs.

In WebSphere Application Server gibt es zwei Implementierungen des WS-Notification-Service: Version 6.1 und Version 7.0. Dieses JAX-RPC-Beispiel kann erfolgreich mit WS-Notification-Servicepunkten der Version 6.1 oder Version 7.0 interagieren. Wenn Sie jedoch WS-Notification mit Richtliniensätzen verwenden möchten, beispielsweise um die Komposition mit WS-ReliableMessaging, dann müssen Ihre WS-Notification-Anwendungen so codiert sein, dass sie das Programmiermodell Java API for XML-based Web Services (JAX-WS) verwenden und mit Version 7.0 WS-Notification-Servicepunkte. Wenn Sie mit der Programmierung von JAX-WS-Clientanwendungen noch nicht vertraut sind, sehen Sie sich die folgenden Artikel an:

Führen Sie die folgenden Schritte aus, um den Code für einen JAX-RPC-Client zu schreiben, der in der Subskribentenrolle auftritt, und einen Pull-Punkt für eine Konsumentenanwendung zu erstellen, die Pull-Benachrichtigungen verwenden soll. Weitere Informationen können Sie dem Beispielcodeauszug entnehmen.

Vorgehensweise

  1. Ermitteln Sie den JAX-RPC-Service.
    Der JNDI-Name ist spezifisch für Ihre Web-Service-Clientimplementierung.
  2. Rufen Sie einen Stub für den Port ab, an dem Operationen gestartet werden sollen.
  3. Erstellen Sie die Anforderungsinformationen.
  4. Rufen Sie die Operation "CreatePullPoint" durch Aufruf der zugehörigen Methode im Stub auf.
  5. Rufen Sie die Referenz auf den Pull-Punkt aus der Antwort ab.
  6. Rufen Sie alle zusätzlichen Informationen aus der Antwort ab.

Beispiel

Der folgende Beispielcode beschreibt einen Client in der Rolle eines Subskribenten, der einen Pull-Punkt zur Verwendung durch eine Konsumentenanwendung erstellt, die Benachrichtigungen im Pull-Stil verwenden soll:

// Look up the JAX-RPC service. The JNDI name is specific to your web services client implementation
InitialContext context = new InitialContext();
javax.xml.rpc.Service service = (javax.xml.rpc.Service) context.lookup(
    "java:comp/env/services/NotificationBroker");

// Get a stub for the port on which you want to invoke operations
NotificationBroker stub = (NotificationBroker) service.getPort(NotificationBroker.class);

// Create the request information. 
SOAPElement[] optionalInformation = null;
CreatePullPoint cpp = new CreatePullPoint(optionalInformation);

// Invoke the CreatePullPoint operation by calling the associated method on the stub
CreatePullPointResponse response = stub.createPullPoint(cpp);

// Retrieve the reference to the pull point from the response
EndpointReference pullPointEPR = response.getPullPoint();

// Retrieve any additional information from the response
SOAPElement[] additionalInformation = response.getElements();