WebSphere® Application Server 提供了基于 Java™ API for XML-based Web Services (JAX-WS) 2.2 规范的瘦 Java Platform, Standard
Edition 6 (Java SE 6) Web Service 客户机运行时实现。带有 WebSphere Application Server 的 JAX-WS 瘦客户机是独立的 Java SE 6 客户机环境,使您可以在非 WebSphere 环境中运行非受管 JAX-WS Web Service 客户机应用程序以调用由应用程序服务器主管的 Web Service。
开始之前
支持的配置: 可以将带有
WebSphere Application Server 的 JAX-WS 瘦客户机用作纯净 Java SE 环境或 OSGi 环境内的独立客户机运行时。在
WebSphere Application Server 或 WebSphere Application Client 环境中不支持运行 JAX-WS 瘦客户机。
在此版本的应用程序服务器中,除了管理瘦客户机外,随应用程序服务器提供的其他瘦客户机运行时都可以位于 CLASSPATH 中并可与 JAX-WS 瘦客户机共存。
sptcfg
设置 JAX-WS 非受管客户机执行环境之前,请获取 JAX-WS 瘦客户机 Java 归档 (JAR) 文件。要获取 JAX-WS 瘦客户机,请安装 WebSphere Application Server V9.0 或 Application
Client for WebSphere Application Server V9.0。JAX-WS 瘦客户机 JAR 文件 com.ibm.jaxws.thinclient_8.5.0.jar 位于 app_server_root\runtimes 目录中。
将 JAX-WS 瘦客户机 com.ibm.jaxws.thinclient_8.5.0.jar 文件和 endorsed_apis_8.5.0.jar 文件复制到其他机器上以创建可以与产品通信的轻量级客户机环境。JAX-WS 瘦客户机的副本也需遵循从其获取 JAX-WS 瘦客户机的 WebSphere 产品的许可协议的相同条款和条件。请参阅许可协议以了解正确的用法及其他局限性。
JAX-WS 瘦客户机在以下环境中受支持:
- IBM® 软件开发包 (SDK) V6.0
- 具有以下限制的非 IBM SDK V6.0:
- 非 IBM SDK 上的 Xerces 局限性
设置 JAX-WS 瘦客户机环境时,必须下载 Xerces-J V2.6.2 并将此文件添加至类路径。
- 非 IBM SDK 上的 WS-SecurityKerberos
Sun JDK 或其他非 IBM SDK 不支持 WS-SecurityKerberos。在利用 WS-Security 消息级别保护并按照 Web Service 安全性 Kerberos 令牌概要文件 1.1 规范中的描述来使用 Kerberos 安全性令牌的 JAX-WS 瘦客户机内运行的应用程序,不能在非 IBM JDK 上正常工作。此限制由于对只在 IBM SDK 中才可用的 IBM JGSS 提供程序的依赖性而存在。
- Equinox 3.6 OSGi 运行时环境
关于此任务
通过完成以下步骤来设置 JAX-WS 瘦客户机环境。
过程
- 将 JAX-WS 瘦客户机 JAR 文件 com.ibm.jaxws.thinclient_8.5.0.jar 复制到其他机器上以创建轻量级客户机环境。
- 使用 Java 授权标准覆盖机制来覆盖系统上 JDK 内可用的 API。
因为带有 WebSphere Application ServerV9.0 的 JAX-WS 瘦客户机需要比 JDK 中的可用 API 更新的 API 才能支持 JAX-WS
2.2 和 JAXB 2.2 实现,所以必须使用 Java 授权标准覆盖机制来覆盖系统所使用的缺省 JDK API。
将 app_server_root\runtimes\endorsed\endorsed_apis_8.5.0.jar 文件复制到缺省目录 JAVA_JRE\lib\endorsed 中。
或者,可以使用 java.endorsed.dirs 属性来指定您选择的目录。如果选择使用替代目录,那么最好只包括 endorsed_apis JAR 文件。
- 配置路径。 输入以下命令以便将 Java bin 目录添加到路径中:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
set PATH=<your_JDK_bin_directory>;%PATH%
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Solaris]](../images/solaris.gif)
![[Linux]](../images/linux.gif)
export PATH=<your_JDK_bin_directory>:$PATH
- 配置类路径。
- 可选: 实现客户机的策略集。
- 配置客户机的 SSL。
- 将以下系统属性添加到 Java 命令中:
-Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props
您可以从 WebSphere Application Server 安装中获取 ssl.client.props 文件并修改该文件以适合您的环境。必须至少将 ssl.client.props 文件中的 com.ibm.ssl.keyStore 和 com.ibm.ssl.trustStore 密钥文件的位置更改为目标环境的匹配位置。
例如,运行应用程序和 Sun
JRE 时,请使用以下 SSL 配置设置: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
在运行应用程序之前,必须使用 Java keytool 实用程序来创建密钥库文件和信任库文件。不支持使用非 IBM 产品的 JRE 来生成自动密钥文件。
- 运行客户机应用程序:
- 如果已将 endorsed_apis_8.5.0.jar 文件复制到缺省目录 JAVA_JRE\lib\endorsed,请输入以下命令;例如:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
%JAVA_HOME%\bin\java -Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <your_client_application>
![[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 <your_client_application>
- 如果已将 endorsed_apis_8.5.0.jar 文件复制到除缺省目录 JAVA_JRE\lib\endorsed 外的其他目录,请输入以下命令;例如:
![[Windows]](../images/windows.gif)
![[z/OS]](../images/ngzos.gif)
%JAVA_HOME%\bin\java
-Djava.endorsed.dirs=<directory_that_includes_endorsed_apis_8.5.0.jar>
-Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <your_client_application>
![[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=<directory_that_includes_endorsed_apis_8.5.0.jar>
-Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props <your_client_application>
结果
您已设置非受管 JAX-WS 客户机运行时环境以调用在
WebSphere Application Server 上主管的 Web Service。
避免故障: 以下命令说明如何显示所运行的瘦客户机的版本:
java -cp (wasHome)/runtimes/com.ibm.jaxws.thinclient_8.5.0.jar com.ibm.ws.webservices.Version
以下示例说明命令的输出:
IBM Web services build: cf021412.02
IBM Web services release: 8.5.5
Time stamp: 5/14/14 21:11:46
gotcha