Asynchronen JAX-WS-Antwortlistener verwenden
Java API for XML-based Web Services (JAX-WS) enthält einen asynchronen Antwortlistener, der im Thin Client for JAX-WS und in Anwendungsclientumgebungen für den Empfang von Antworten für Anforderungen verwendet wird, die asynchron aufgerufen werden.
Vorbereitende Schritte
JAX-WS unterstützt den Aufruf von Web-Services über einen asynchronen Clientaufruf mit einem Callback- oder Abfragemodell. Das Callbackmodell und das Abfragemodell sind im Dispatch-Client und im dynamischen Proxy-Client verfügbar. Wenn der JAX-WS-Client einen asynchronen Clientaufruf verwendet, werden Antworten vom asynchronen Antwortlistener empfangen. Um sich mit der Verwendung des asynchronen Clientaufrufmodells vertraut zu machen, lesen Sie die Informationen zum asynchronen Aufruf von JAX-WS-Web-Services.
Informationen zu diesem Vorgang
Der asynchrone Antwortlistener wird in einem Web-Service-Client für die Bearbeitung eingehender asynchroner Antworten verwendet. Sie können den Listener im Thin Client für JAX-WS-Umgebungen und Anwendungsclientumgebungen verwenden. Standardmäßig öffnet der Listener für den Empfang asynchroner Antworten einen wahlfreien Port. Optional können Sie einen bestimmten Port für den Listener konfigurieren. Der Listener wird in der JAX-WS-Laufzeitumgebung automatisch gestartet, wenn der JAX-WS-Client für den Empfang asynchroner Antworten konfiguriert ist.
Es gibt zwei Versionen des asynchronen Antwortlisteners. Die nicht gesicherte Version des asynchronen Antwortlisteners unterstützt das Protokoll HTTP, und die sichere Version des asynchronen Antwortlisteners unterstützt das Protokoll HTTPS. Basierend auf dem vom JAX-WS-Client verwendeten Transport wird automatisch der richtige asynchrone Antwortlistener gestartet. Um sicherzustellen, dass das richtige SSL-Handshakeverfahren zwischen dem asynchronen Antwortlistener und dem Anwendungsserver stattfindet, konfigurieren Sie die SSL-Eigenschaften über die SSL-Transportrichtlinie oder die Java-Systemeigenschaften.
Verwenden Sie für Web-Service-Clients, die in der Anwendungsserverumgebung ausgeführt werden, das asynchrone Antwortservlet für den Empfang asynchroner Antworten.
Vorgehensweise
Ergebnisse
Beispiel
- Verwenden
Sie den folgenden Java-Befehl, um den angepassten HTTP-Port für den asynchronen Antwortlistener
in einer Thin-Client-Umgebung zu konfigurieren:
- java.exe -Dcom.ibm.websphere.webservices.http.listenerPort=9999 com.ibm.websphere.my_program
- Verwenden Sie den folgenden launchClient-Befehl, um den angepassten HTTP-Port für den
asynchronen Antwortlistener in einem Anwendungsclient-Container zu konfigurieren:
- launchClient.bat MyClient.ear -CCDcom.ibm.websphere.webservices.http.listenerPort=9999
- Im Folgenden
sehen Sie einen Auszug aus einer HTTPTransport-Richtliniendatei HTTPTransport policy binding.xml, die die Eigenschaften des asynchronen
Antwortlisteners enthält:
</wsp:Policy> </wsp:ExactlyOne> </wsp:All> <wshttp:outAsyncResponseProxy> <wshttp:connectInfo host="" port=""></wshttp:connectInfo> <wshttp:basicAuth userid="" password=""></wshttp:basicAuth> </wshttp:outAsyncResponseProxy> <wshttp:properties> <wshttp:customProperty name="com.ibm.websphere.webservices.http.listenerPort" value="9999" /> </wshttp:properties> </wsp:All> </wsp:ExactlyOne> </wsp:Policy>