Web-Service-Nachrichten von einem JAX-RPC-Client direkt über den Bus senden
Verwenden Sie diese Task, um Web-Service-Nachrichten über einen Bus zu senden, indem der JAX-RPC-Client als neues Ziel angegeben wird.
Informationen zu diesem Vorgang
JAX-RPC-Clientanwendungen (Java™ API for XML-based Remote Procedure Calls) senden und empfangen Anforderungs- und Antwortnachrichten für Web-Services. JAX-RPC-Clientanwendungen, die die Laufzeitkomponente IBM JAX-RPC verwenden, haben hierfür verschiedene Möglichkeiten. Maßgeblich sind die Bindungen im WSDL-Dokument, mit dem sie entwickelt werden, und die Konfigurationsdaten, die zur Laufzeit verwendet werden.
Eine Einführung in die Basisprogrammierkonzepte von JAX-RPC, einschließlich der Programmiermodelle für JAX-RPC-Clients und -Server, finden Sie auf der Seite Getting Started with JAX-RPC.
- Sie können eine SOAP-Bindung (SOAP over HTTP oder SOAP over JMS) verwenden und Nachrichten indirekt über einen Endpunktlistener an einen Service für eingehende Daten übergeben. Diese Option eignet sich, wenn Sie SOAP-spezifische JAX-RPC-Handler haben, die im Kontext der Clientanwendung ausgeführt werden müssen.
- Sie können die Nachrichten an einem Ziel direkt an den Service Integration Bus übergeben, indem Sie die JAX-RPC-Clientanwendung, wie in diesem Artikel beschrieben, "umleiten".
- Mit dem Bindungs-Namespace geben Sie an, dass der Client den Messaging-Bus direkt verwenden soll.
- Mit der Endpunktadresse geben Sie das spezielle Ziel und (optional) das Format der Nachrichten an, das der Client verwendet.
- Erstellen Sie einen Service für abgehende Daten. Ein Service für abgehende Daten ist ein extern bereitgestellter Web-Service. In diesem Fall werden Anforderungen vom JAX-RPC-Client über das Serviceziel übergeben und anschließend an den Service-Provider gesendet, der in der Konfiguration des abgehenden Service definiert ist.
- Erstellen Sie einen Service für eingehende Daten. Ein Service für eingehende Daten (oder eingehender Service) stellt einen Service dar, der sich im oder außerhalb des Messaging-Busses befindet. Sie können einen eingehenden Service an dem vorhandenen Ziel erstellen. Beim Erstellen eines eingehenden Service wird dem Ziel ein WSDL-Porttyp zugeordnet. Wenn Sie einen Service an ein Ziel mit einem eingehenden Service umleiten, muss die Clientanwendung den Zielnamen und den Namen des eingehenden Service angeben, da es möglich ist, mehrere eingehende Services für ein Ziel zu konfigurieren. In diesem Fall werden Anforderungen vom JAX-RPC-Client über das Ziel übergeben und anschließend gemäß dem Routing, das am Anfangsziel durchgeführt wird, weiter an den Service Integration Bus gesendet.
Führen Sie die folgenden Schritte aus, damit Web-Service-Nachrichten mit einem JAX-RPC-Client direkt an ein Ziel gesendet werden:
Vorgehensweise
- Erstellen Sie eine JAX-RPC-Clientanwendung.
- Erstellen Sie einen Service für abgehende Daten oder einen Service für eingehende Daten, mit dem die JAX-RPC-Clientanwendung Nachrichten austauschen soll.
- Zeigen Sie in der Administrationskonsole die Portinformationen für die JAX-RPC-Clientanwendung an. Informationen hierzu finden Sie in den Artikeln Web-Service-Clientbindungen konfigurieren und Portinformationen für Web-Service-Clients.
- Überschreiben Sie die SOAP-Standardbindung für Ihre JAX-RPC-Clientanwendung. Ändern Sie den Bindungs-Namespace in http://www.ibm.com/ns/2004/02/wsdl/mp/sib
- Überschreiben Sie den Endpunkt, den Ihre JAX-RPC-Clientanwendung verwendet, um Web-Service-Anforderungen zu senden. Der neue Endpunkt muss die sib: URL-Syntax verwenden und den Namen eines Ziels für den abgehenden Service oder den Namen des eingehenden Service und den zugehörigen Zielnamen enthalten.
Nächste Schritte
Nachdem Sie den Bindungs-Namespace geändert haben, werden alle JAX-RPC-Handlerlisten, die für den umgeleiteten Port konfiguriert wurden, ignoriert. Für Clients, die mit einer WSDL mit einer SOAP-Bindung entwickelt wurden, bedeutet die direkte Umleitung an den Bus, dass die Handler ignoriert werden. Wenn der Client jedoch mit der nicht gebundenen WSDL für den Service entwickelt wird, wird die Umleitung an den Bus nicht als Änderungen des Bindungs-Namespace eingestuft, und die Handlerinformationen werden beibehalten. In diesem Fall werden die JAX-RPC-Handler mit der Unterklasse SDOMessageContext aufgerufen.
Zugehörige Referenzinformationen: