WebSphere Application Server stellt eine
Thin-Web-Service-Clientlaufzeitumgebung der Java™ Platform, Standard
Edition 6 (Java SE 6) bereit, die auf der Spezifikation
Java API for XML-based Web Services (JAX-WS)
2.2 basiert. Thin Client for JAX-WS mit WebSphere Application Server ist eine
eigenständige Clientumgebung der Java SE Version 6, die
aktiven, nicht verwalteten JAX-WS-Web-Service-Clientanwendungen in einer anderen Umgebung als der WebSphere-Umgebung ermöglicht,
Web-Services aufzurufen, die im Anwendungsserver ausgeführt werden.
Vorbereitende Schritte
Unterstützte Konfigurationen: Sie können
Thin Client for JAX-WS mit
WebSphere Application Server als eigenständigen Client in einer reinen
Java SE-Umgebung oder in einer
OSGi-Umgebung verwenden. Thin Client for
JAX-WS wird für die Ausführung in Umgebungen mit
WebSphere Application Server oder mit
WebSphere Application Client nicht unterstützt. In dieser Version des Anwendungsservers
können mit Ausnahme des Thin Client für Verwaltung andere mit dem Anwendungsserver bereitgestellte
Thin-Client-Laufzeiten auch im
CLASSPATH enthalten sein und mit dem
Thin Client for JAX-WS koexistieren.
sptcfg
Für die Konfiguration einer Ausführungsumgebung für nicht verwaltete JAX-WS-Clients benötigen
Sie die JAR-Datei von Thin Client for JAX-WS.
Sie erhalten Thin
Client for JAX-WS, wenn Sie WebSphere Application Server Version 9.0 oder Application Client for
WebSphere Application Server Version 9.0 installieren. Die JAR-Datei
von Thin Client for JAX-WS, com.ibm.jaxws.thinclient_8.5.0.jar,
befindet sich im Verzeichnis Stammverzeichnis_des_Anwendungsservers\runtimes.
Kopieren Sie die Datei com.ibm.jaxws.thinclient_8.5.0.jar von Thin Client for JAX-WS und die Dateien
endorsed_apis_8.5.0.jar auf andere Maschinen, um eine schlanke Clientumgebung zu erstellen, die
die Kommunikation mit dem Produkt ermöglicht.
Kopien von Thin Client for JAX-WS unterliegen den Lizenzbedingungen des
WebSphere-Produkts,
über das Sie Thin Client for JAX-WS erhalten haben. Informationen zur ordnungsgemäßen
Verwendung und zu weiteren Einschränkungen entnehmen Sie den Lizenzvereinbarungen.
Thin Client for JAX-WS wird in den folgenden Umgebungen unterstützt:
- IBM® Software Development Kits (SDKs) Version
6.0
- SDKs der Version 6.0 von anderen Anbietern als IBM. Dabei gilt folgende Einschränkung:
- Xerces-Einschränkung für SDKs anderer Anbieter
Sie müssen Xerces-J Version
2.6.2 herunterladen und die Datei beim Konfigurieren der Umgebung von
Thin Client for JAX-WS zum Klassenpfad hinzufügen.
- WS-SecurityKerberos auf SDKs anderer Anbieter
WS-SecurityKerberos wird
von Sun JDK und SKDs anderer Anbieter nicht unterstützt. Anwendungen, die in einer
Umgebung des Thin Client for JAX-WS ausgeführt werden und
den WS-Security-Zugriffschutz auf Nachrichtenebene sowie Kerberos-Sicherheitstoken gemäß der
Spezifikation "Web Services Security Kerberos Token Profile 1.1"
verwenden, können in JDKs von anderen Anbietern als IBM nicht ordnungsgemäß arbeiten.
Diese Einschränkung besteht aufgrund einer Abhängigkeit
vom IBM-JGSS-Provider, der nur in den
IBM SDKs verfügbar ist.
- OSGi-Laufzeitumgebungen der Equinox Version 3.6
Informationen zu diesem Vorgang
Konfigurieren Sie die Umgebung von Thin Client for JAX-WS wie folgt:
Vorgehensweise
- Kopieren Sie die JAR-Datei com.ibm.jaxws.thinclient_8.5.0.jar
von Thin Client for JAX-WS auf andere Maschinen, um eine schlanke Clientumgebung zu erstellen.
- Verwenden Sie Java Endorsed
Standards Override Mechanism, um APIs zu überschreiben, die im JDK auf Ihrem System verfügbar sind.
Da Thin Client for
JAX-WS mit WebSphere Application ServerVersion 9.0 APIs, die
aktueller sind als die, die in den JDKs verfügbar sind, für die Unterstützung der Implementierungen von
JAX-WS
2.2 und JAXB 2.2 erfordert, müssen Sie die Standard-JDK-APIs, die vom System verwendet werden, mit
Java Endorsed
Standards Override Mechanism überschreiben.
Kopieren Sie die Datei Stammverzeichnis_des_Anwendungsservers\runtimes\endorsed\endorsed_apis_8.5.0.jar
in das Standardverzeichnis JAVA_JRE\lib\endorsed.
Alternativ können Sie die Eigenschaft java.endorsed.dirs verwenden, um ein Verzeichnis Ihrer Wahl anzugeben.
Wenn Sie sich für ein alternatives Verzeichnis entscheiden, empfiehlt es sich, nur die JAR-Datei endorsed_apis hinzuzufügen.
- Konfigurieren Sie den Pfad. Geben Sie den folgenden Befehl ein, um Ihrem Pfad die
Java-Verzeichnisse bin hinzuzufügen:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
set PATH=<bin-Verzeichnis_Ihres_JDK>;%PATH%
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Solaris]](../images/solaris.gif)
![[Linux]](../images/linux.gif)
export PATH=<bin-Verzeichnis_Ihres_JDK>:$PATH
- Konfigurieren Sie den Klassenpfad.
- Optional: Implementieren Sie Richtliniensätze für Ihren Client.
- Konfigurieren Sie SSL für den Client.
- Fügen Sie dem Java-Befehl die folgenden Systemeigenschaften hinzu:
-Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props
Sie können die Datei
ssl.client.props
aus der Installation von WebSphere Application Server verwenden und an Ihre Umgebung anpassen. Sie
müssen zumindest die Positionen der Schlüsseldateien
com.ibm.ssl.keyStore und com.ibm.ssl.trustStore in der Datei
ssl.client.props in die entsprechenden Positionen in Ihrer Zielumgebung ändern.
Verwenden Sie beispielsweise die folgenden SSL-Konfigurationseinstellungen, wenn Sie die
Anwendung mit einer Sun-JRE ausführen:com.ibm.ssl.protocol=SSL
com.ibm.ssl.trustManager=SunX509
com.ibm.ssl.keyManager=SunX509
com.ibm.ssl.contextProvider=SunJSSE
com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.keyStoreProvider=SUN
com.ibm.ssl.keyStore=/home/user1/etc/key.jks
com.ibm.ssl.trustStoreType=JKS
com.ibm.ssl.trustStoreProvider=SUN
com.ibm.ssl.trustStore=/home/user1/etc/trust.jks
Die Keystore-Datei und die Truststore-Datei
müssen mit dem Java-Dienstprogramm "keytool" erstellt werden, bevor die Anwendung ausgeführt wird.
Die automatische Generierung der Schlüsseldateien wird mit JREs anderer Anbietet nicht unterstützt.
- Führen Sie Ihre Clientanwendung aus:
- Geben Sie den folgenden Befehl ein, wenn Sie die Datei endorsed_apis_8.5.0.jar
in das Standardverzeichnis JAVA_JRE\lib\endorsed kopiert haben, z. B.:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
%JAVA_HOME%\bin\java -Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <Ihre_Clientanwendung>
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Solaris]](../images/solaris.gif)
![[Linux]](../images/linux.gif)
![[IBM i]](../images/iseries.gif)
$JAVA_HOME/bin/java -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <Ihre_Clientanwendung>
- Geben Sie den folgenden Befehl ein, wenn Sie die Datei endorsed_apis_8.5.0.jar
in ein anderes Verzeichnis als das Standardverzeichnis JAVA_JRE\lib\endorsed kopiert haben, z. B.:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
%JAVA_HOME%\bin\java
-Djava.endorsed.dirs=<Verzeichnis_mit_endorsed_apis_8.5.0.jar>
-Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <Ihre_Clientanwendung>
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Solaris]](../images/solaris.gif)
![[Linux]](../images/linux.gif)
![[IBM i]](../images/iseries.gif)
$JAVA_HOME/bin/java
-Djava.endorsed.dirs=<Verzeichnis_mit_endorsed_apis_8.5.0.jar>
-Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <Ihre_Clientanwendung>
Ergebnisse
Sie haben eine nicht verwaltete JAX-WS-Clientlaufzeitumgebung konfiguriert, um Web-Services in
WebSphere Application Server aufzurufen.
Fehler vermeiden: Der folgende Befehl zeigt, wie die Version des aktiven Thin Client angezeigt wird:
java -cp (wasHome)/runtimes/com.ibm.jaxws.thinclient_8.5.0.jar com.ibm.ws.webservices.Version
Das folgende Beispiel zeigt die Ausgabe des Befehls:
IBM Web services build: cf021412.02
IBM Web services release: 8.5.5
Time stamp: 5/14/14 21:11:46
gotcha