Beispiel: Nachrichten aus einem WS-Notification-Pull-Punkt abrufen

Verwenden Sie diese Task, um auf der Basis des bereitgestellten Beispielcodeauszugs den Code für einen JAX-RPC-Client zu schreiben, der in Konsumentenrolle im Pull-Stil auftritt und Nachrichten von einem Pull-Punkt anfordert.

Informationen zu diesem Vorgang

Dieses Beispiel basiert auf der Verwendung der JAX-RPC-APIs (Java™ API for XML-based Remote Procedure Call) zusammen mit Code, der mit Tool WSDL2Java (auf der Basis der beim Erstellen des WS-Notification-Servicepunkts generierten NotificationBroker-WSDL) generiert wird, und den APIs und SPIs von WebSphere Application Server.

In WebSphere Application Server gibt es zwei Implmentierungen 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 WS-Notification mit Richtliniensätzen verwenden möchten, z. B. für die Kombination mit WS-ReliableMessaging, müssen Ihre WS-Notification-Anwendungen jedoch so codiert werden, dass sie das Programmiermodell JAX-WS (Java API for XML-based Web Services) verwenden, und sie müssen mit WS-Notification-Servicepunkten der Version 7.0 interagieren. 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 auf der Basis des bereitgestellten Beispielcodeauszugs den Code für einen JAX-RPC-Client zu schreiben, der in Konsumentenrolle im Pull-Stil auftritt und Nachrichten von einem Pull-Punkt anfordert.

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. Ordnen Sie die Anforderung einem Pull-Punkt zu. Der pullPointEPR ist die EndpointReference, die beim Aufruf der Operation "CreatePullPoint" zurückgegeben wird.
  4. Geben Sie die Anzahl der Nachrichten an, die Sie abrufen möchten.
  5. Erstellen Sie weitere optionale Informationen.
  6. Erstellen Sie die Anforderungsinformationen.
  7. Rufen Sie die Operation "GetMessages" durch Aufruf der zugehörigen Methode im Stub auf.
  8. Rufen Sie die in der Antwort zurückgegebenen Nachrichten ab.

Beispiel

Der folgende Beispielcode beschreibt einen JAX-RPC-Client, der in der Konsumentenrolle im Pull-Stil auftritt und Nachrichten von einem Pull-Punkt abruft:

// Den JAX-RPC-Service ermitteln.
Der JNDI-Name ist spezifisch für Ihre Web-Service-Clientimplementierung.
InitialContext context = new InitialContext();
javax.xml.rpc.Service service = (javax.xml.rpc.Service) context.lookup(
    "java:comp/env/services/NotificationBroker");

// Ein Stub für den Port abrufen, auf dem Operationen gestartet werden sollen.
NotificationBroker stub = (NotificationBroker) service.getPort(NotificationBroker.class);

// Die Anforderung einem Pull-Punkt zuordnen. Der pullPointEPR ist die Endpunktreferenz, die
// durch den Aufruf der Operation CreatePullPoint zurückgegeben wird.
((Stub) stub)._setProperty(WSAConstants.WSADDRESSING_DESTINATION_EPR, pullPointEPR);

// Die Anzahl der Nachrichten angeben, die abgerufen werden soll.
Integer numberOfMessages = new Integer(2);

// Optionale Informationen erstellen.
SOAPElement[] optionalInformation = new SOAPElement[] {};

// Die Anforderungsinformationen erstellen.
GetMessages request = new GetMessages(numberOfMessages, optionalInformation);

// Die Operation GetMessages durch Aufruf der zugehörigen Methode im Stub starten.
GetMessagesResponse response = stub.getMessages(request);

// Die in der Antwort zurückgegebenen Nachrichten abrufen.
NotificationMessage[] messages = response.getMessages();

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjwsn_ex_pp_get
Dateiname:tjwsn_ex_pp_get.html