运行非受管 Web Service JAX-WS 客户机

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 瘦客户机环境。

过程

  1. 将 JAX-WS 瘦客户机 JAR 文件 com.ibm.jaxws.thinclient_8.5.0.jar 复制到其他机器上以创建轻量级客户机环境。
  2. 使用 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 文件。

  3. 配置路径。 输入以下命令以便将 Java bin 目录添加到路径中:
    [Windows][z/OS]
    set PATH=<your_JDK_bin_directory>;%PATH%
    [AIX][HP-UX][Solaris][Linux]
    export PATH=<your_JDK_bin_directory>:$PATH
  4. 配置类路径。
    • 将 JAX-WS 瘦客户机 JAR 文件添加到类路径定义。
      要点: 如果瘦客户机要使用 Java 消息服务 (JMS),那么必需的所有 JAR 文件都必须位于 JMS 及客户机的类路径中,以便存在适用于所有必需文件的条目。 否则,会将必需文件识别为未安装或未准备就绪以供使用。
      [Windows][z/OS]
      set CLASSPATH=.;<your_jax-ws_thin_client_install_directory>\com.ibm.jaxws.thinclient_8.5.0.jar;
      <your_application_jars>;%CLASSPATH%
      [AIX][HP-UX][Solaris][Linux][IBM i]
      export CLASSPATH=.:<your_jax-ws_thin_client_install_directory>/com.ibm.jaxws.thinclient_8.5.0.jar:
      <your_application_jars>;$CLASSPATH
    • 如果使用的是非 IBM SDK,请从 Xerces Web 站点获取 Xerces xml-apis.jar 文件和 xercesImpl.jar 文件,然后配置类路径定义。
      [Windows][z/OS]
      set CLASSPATH=.;<your_Xerces_install_directory>\xml-apis.jar;<your_Xerces_install_directory>
      \xercesImpl.jar;%CLASSPATH%
      [AIX][HP-UX][Solaris][Linux][IBM i]
      export CLASSPATH=.:<your_Xerces_install_directory>/xml-apis.jar:<your_Xerces_install_directory>
      \xercesImpl.jar:$CLASSPATH
  5. 可选: 实现客户机的策略集
  6. 配置客户机的 SSL。
    1. 将以下系统属性添加到 Java 命令中:
      -Dcom.ibm.SSL.ConfigURL=file:///home/sample/ssl.client.props

      您可以从 WebSphere Application Server 安装中获取 ssl.client.props 文件并修改该文件以适合您的环境。必须至少将 ssl.client.props 文件中的 com.ibm.ssl.keyStorecom.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 来生成自动密钥文件。

  7. 运行客户机应用程序:
    • 如果已将 endorsed_apis_8.5.0.jar 文件复制到缺省目录 JAVA_JRE\lib\endorsed,请输入以下命令;例如:
      [Windows][z/OS]
      %JAVA_HOME%\bin\java -Dcom.ibm.SSL.ConfigURL=file:\\\home\sample\ssl.client.props <your_client_application>
      [AIX][HP-UX][Solaris][Linux][IBM i]
      $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][z/OS]
      %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][HP-UX][Solaris][Linux][IBM i]
      $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

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxwsthinclient
文件名:twbs_jaxwsthinclient.html