Einen WSIF-Service mit einem von JMS bereitgestellten Service verbinden
Die JMS-Provider ermöglichen den Aufruf eines WSIF-Service über SOAP over JMS oder natives JMS. Fügen Sie der WSDL-Datei (Web Services Description Language) Ihres Web-Service WSDL-Erweiterungen hinzu, damit der Service die JMS-Provider verwenden kann.
Informationen zu diesem Vorgang
Java™ Message Service (JMS) ist eine API für die Transporttechnologie. Die Zuordnung zu einer JMS-Zieladresse wird bei der Implementierung definiert und vom Container verwaltet.
Der Web-Service-Endpunkt für eine JMS-Zieladresse kann auf eine der folgenden Arten realisiert werden:
- Die JMS-Zieladresse für Warteschlangen kann die Web-Service-Implementierung sein.
- Die JMS-Zieladresse kann (aber muss nicht) vom EJB-Container einer MDB zugeordnet werden, so dass die MDB die Web-Service-Implementierung sein kann.
- Bei SOAP over JMS kann die JMS-Zieladresse die JMS-Nachricht extrahieren und die SOAP-Nachricht an die Web-Service-Implementierung in einer Stateless-Session-Bean weiterleiten.
Die JMS-Zieladresse muss das vom Client erwartete und von der WSDL definierte Interaktionsmodell respektieren. Sie muss eine Antwort zurückgeben, wenn eine Antwort angefordert wird.
Wenn die JMS-Zieladresse die JMS-Antwortnachricht erstellt, müssen die folgenden Regeln eingehalten werden:
- Die Antwortnachricht muss an JMSReplyTo der eingehenden Anforderung gesendet werden.
- Die JMSCorrelationID der Antwortnachricht muss auf den Wert der JMSMessageID in der Anforderungsnachricht gesetzt werden.
- Die Antwort muss mit einem deliveryMode gesendet werden, der dem JMSDeliveryMode der Anforderungsnachricht entspricht.
- Die Antwort muss mit einer priority gesendet werden, die der JMSPriority der Anforderungsnachricht entspricht.
- Der Wert TimeToLive/JMSExpiration muss dem Wert JMSExpiration in der Anforderungsnachricht entsprechen.
Der Client sieht keine dieser Kopfdaten. Der Container empfängt die JMS-Nachricht und entfernt (bei SOAP over JMS) die an den Client zu sendende SOAP-Nachricht.
Wenn Sie einen WSIF-Service mit einem von JMS bereitgestellten Service verbinden möchten, verwenden Sie die folgenden Informationen und Codebeispiele: