Für einen Client-Porttyp können Ports mit verschiedenen Servicequalitäten konfiguriert werden. Mit der Befehlszeilenoption
WebServicesClientBindPreferredPort können Sie den gewünschten Port angeben.
Vorbereitende Schritte
Wenn Sie die EAR-Datei noch nicht implementiert haben, müssen Sie
sie bereithalten oder im Anwendungsserver implementieren.
Informationen zu diesem Vorgang
Für jeden konfigurierten Porttyp sind Ports verfügbar. Wenn ein Web-Service-Client eine getPort-Methode aufruft,
bestimmt die Zuordnung bevorzugter Ports, welcher Port verwendet wird. Auf diese Zuordnung wird zurückgegriffen, wenn der Methodenaufruf
getPort mehrere passende Ports findet, z. B. ein getPort-Aufruf, der den Porttyp, aber nicht den Port angibt. Nehmen wir an, der
Web-Service-Client ist für die Verwendung von JMS (Java Message Service)
und einer HTTP-Implementierung konfiguriert. Bei der Installation oder Verwaltung können Sie
den bevorzugten Port der Anwendung mit dem Befehl WebServicesClientBindPreferredPort für die Verwendung
des gewünschten Transports konfigurieren.
Gehen Sie wie folgt vor, um die Zuordnung des bevorzugten Ports
mit dem Tool wsadmin zu konfigurieren:
Vorgehensweise
- Starten Sie einen Scripting-Befehl. Weitere Informationen hierzu finden Sie in der Dokumentation zum Starten
des wsadmin-Scripting-Clients.
- Konfigurieren Sie die vom Web-Service-Client bevorzugten Portzuordnungen.
Wenn Sie den vorhandenen Listener-Port verwenden möchten, anstatt eine Aktivierungsspezifikation
zu verwenden oder eine neue zu erstellen, müssen Sie feststellen, ob die EJB-JAR-Version älter ist als Version 2.1. Das System
erstellt und verwendet automatisch eine Aktivierungsspezifikation, wenn Sie die Option
"-usedefaultbindings" zum Implementieren einer Anwendung angeben.
Wenn eine Aktivierungsspezifikation vorhanden ist, ignoriert das System
den Listener-Port und verwendet stattdessen die Aktivierungsspezifikation.
Wenn Sie eine Anwendung mit einer EJB-JAR-Version größer-gleich
2.1 über die definierten Listener-Ports und nicht über eine neue Aktivierungsspezifikation implementieren möchten, müssen
Sie die Systemeigenschaft "com.ibm.websphere.management.application.dfltbndng.mdb.preferexisting" in der Datei wsadmin.properties
im Verzeichnis "properties" des gewünschten Profils auf true setzen.
Verwenden Sie die Option
"install", "installInteractive", "edit" oder "editInteractive", um die vom Web-Service-Client
bevorzugten Portzuordnungen zu konfigurieren, wie mit der folgenden Syntax gezeigt:
- Mit Jython:
AdminApp.install('Anwendungsname', '[-usedefaultbindings -deployejb
-WebServicesClientBindPreferredPort {{Modulname EJB-Name Web_Service Porttyp
Portname]')
- Mit Jacl:
$AdminApp install Anwendungsname {-usedefaultbindings -deployejb
-WebServicesClientBindPreferredPort {{Modulname EJB-Name Web_Service Porttyp
Portname}}
Das Beispiel zeigt mehrere Module und URL-Endpunkte, weil Sie mehrere URL-Fragmente
bearbeiten können. Für das Beispiel gilt Folgendes:
- Anwendungsname ist der Name der Anwendung, z. B. MultiEjbJar.ear.
- EJB-Name ist der Name des Enterprise-Bean-Moduls, das kein Webmodul ist, z. B.
Exchange.
- Modulname ist der Name des Moduls, z. B. ejbclientonly.jar.
- Web_Service ist der Name des Web-Service, z. B. service/StockQuoteService.
- Porttyp ist die Angabe des Porttyps, z. B. {http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote.
- Portname ist der Portname, z. B. {http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote.
Ergebnisse
Sie haben die Zuordnung bevorzugter Ports für Web-Service-Clients mit dem Tool wsadmin
konfiguriert.
Beispiel
Das folgende Beispiel zeigt Befehlszeileninformationen mit Angabe der Anwendung, des Moduls,
des Web-Service, des Porttyps und des Portnamens:
$AdminApp install MultiEjbJar.ear {-WebServicesClientBindPreferredPort {{ejbclientonly.jar
Exchange service/StockQuoteService {http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote
{http://stock.multiejbjar.test.wsfvt.ws.ibm.com}StockQuote}...}}
Die Angabe des Porttyps, die die Erstellung der Optionsdaten für WebServicesClientBindPreferredPort
steuert, ist in der Client-WSDL-Datei enthalten. Da gültige Zuordnungen bevorzugter Ports auf Ports beschränkt sind, die
die Schnittstelle des Porttyps implementieren, ist für die Gültigkeitsprüfung der Implementierungstyp der einzelnen Ports
erforderlich. Zur Bestimmung der Typ- und der Implementierungsangabe muss auf die Client-WSDL-Datei
zugegriffen werden.
Der Name der Client-WSDL-Datei wird vom Attribut ServiceRef des Implementierungsdeskriptors
für den Web-Service-Client angegeben. Der Clientimplementierungsdeskriptor ist je nach Modultyp und Version in der Datei
application-client.xml, web.xml oder ejb-jar.xml enthalten. Wenn Sie mit
J2EE 1.3 arbeiten, sind die Clientimplementierungsdeskriptorinformationen in der Datei webservices.xml enthalten.
Nächste Schritte
Jetzt könenen Sie alle anderen Konfigurationen abschließen, die Anwendung starten bzw. erneut starten und
überprüfen, ob das Verhalten des Web-Service Ihren Erwartungen entspricht.