Ping 和回传 - 配置


运行样本
运行瘦客户机样本
启用可靠的消息传递和安全性

Ping 样本和回传样本是两个简单的 JAX-WS Web Service。

Ping 样本演示了一个单向操作。一个简单的字符串值传递至此服务。该客户机操作在它与此服务联系后完成。此样本中存在两个端点。一个端点使用 SOAP 1.1,而另一个端点使用 SOAP 1.2。

回传样本演示了一个双向操作。一个简单的字符串值传递至此服务。此服务在此字符串值前面加上一个标识并将此值返回到客户机。此样本中存在两个端点。一个端点使用 SOAP 1.1,而另一个端点使用 SOAP 1.2。回传样本还演示了同步和异步编程模型以及同步和异步在线行为:


样本服务端点
URI 描述
http://localhost:9080/WSSampleSei/PingService
使用 SOAP 1.1 的 Ping 服务样本
http://localhost:9080/WSSampleSei/PingService12
使用 SOAP 1.2 的 Ping 服务样本
http://localhost:9080/WSSampleSei/EchoService
使用 SOAP 1.1 的回传服务样本
http://localhost:9080/WSSampleSei/EchoService12
使用 SOAP 1.2 的回传服务样本

端口 9080 是缺省值;但是,如果您未安装到 AppSrv01 概要文件,那么端口号不同。



配置样本

要完成 Ping 和回传样本的配置,请在服务器上部署 Jax-WS Web Service 样本应用程序。如果尚未部署该样本应用程序,那么请参阅重建和部署 JaxWSServicesSamples.ear 文件的指示信息。

运行样本

在开始之前,必须验证运行客户机之前应用程序服务器是否正在运行。

Ping 和回传样本包含两个服务,一个为 Ping,另一个为“回传”。

运行 Ping 和回传样本

Ping 样本演示了一个单向服务事务。此样本的源代码位于 profile_root/samples/src/JaxWSServicesSamples/SampleClientSei 目录中。

回传样本演示了一个双向服务事务。此样本的源代码位于 profile_root/samples/src/JaxWSServicesSamples/SampleClientSei 目录中。

要从 WebSphere Application Server 运行 Ping 和回传客户机 servlet,请执行下列步骤:

  1. 启动服务器。
  2. 单击运行

运行 Ping 和回传瘦客户机样本

Ping 和回传瘦客户机样本类似于 Ping 和回传客户机 servlet。此样本访问相同的 Ping 和回传 Web Service bean,但它使用一个 Java 归档(JAR)文件,该文件要求类路径中存在 Thin Client for JAX-WS with WebSphere Application JAR 文件。

可以在 samples/lib/JaxWSServicesSamples 目录中找到 WSSampleClientSei.jar 文件。

Ping 和回传瘦客户机样本根据您提供的参数为 Ping 或回传 Web Service 创建 JAX-WS 代理。然后该代理通过消息与服务端点联系。回传样本等待响应。

在以下步骤中,变量 app_server_root 表示应用程序服务器安装根目录。

要从 WebSphere Application Server 运行 Ping 和回传瘦客户机,请根据您的操作系统执行下列步骤:

  1. 启动服务器。
  2. 打开命令提示符。
  3. 转到 JaxWSServicesSamples 目录。

    在 Windows 操作系统上:

    cd app_server_root\samples\bin\JaxWSServicesSamples

    在 AIX、Linux 和 z/OS 等操作系统上:

    cd app_server_root/samples/bin/JaxWSServicesSamples

    在 iSeries 操作系统上:

    cd app_server_root/samples/bin/JaxWSServicesSamples

  4. 运行 Ping 和回传瘦客户机样本。

    在 Windows 操作系统上:

    runSampleSei.bat -h hostname -p port -f urlSuffix -m testMessage -s service -t timeout -w asyncwire -c count -1 -2

    在 AIX、Linux 和 z/OS 等操作系统上:

    ./runSampleSei.sh -h hostname -p port -f urlSuffix -m testMessage -s service -t timeout -w asyncwire -c count -1 -2

    在 iSeries 操作系统上:

    ./runSampleSei -h hostname -p port -f urlsuffix -m testMessage -s service -t timeout -w asyncwire -c count -1 -2

    这些参数是:
    -h <hostname> 是主机的名称。缺省值为 localhost
    -p <port> 是端口号。缺省值为 9080
    -f <urlsuffix> 是服务端点上下文。缺省值为 /WSSampleSei/EchoService
    -m <message> 是消息的文本。缺省值为 hello。如果该消息包含空白,那么请使用引号引起该消息。
    -c count 指定要运行的事务数目。缺省值为 1。
    -1 指定要使用 SOAP 1.1。缺省值为 SOAP 1.1。
    -2 指定要使用 SOAP 1.2。

    以下示例说明了在 Windows 操作系统上成功运行 Ping 和回传客户机的情形:


    runSampleSei.bat -p 9081
    Aug 8, 2007 7:01:00 PM com.ibm.ws.ssl.config.SSLConfigManager
    INFO: ssl.disable.url.hostname.verification.CWPKI0027I
    >> CLIENT: SEI Async to http://localhost:9081/WSSampleSei/EchoService
    [WAShttpAsyncResponseListener] listening on port 4733
    >> CLIENT: SEI Async invocation complete.
    >> CLIENT: SEI Async response is: JAX-WS==>>HELLO


要更多地了解样本客户机和应用程序如何工作,请参阅 Ping 和回传技术说明或查看 Java 源代码。

有关 Web Service 客户机的更多信息,请参阅 WebSphere Application Server 信息中心库 中有关开发和部署 Web Service 客户机的文档。

启用可靠的消息传递和安全性

策略集脚本
将 QoS 应用于 Ping 和回传瘦客户机样本

策略集脚本

策略集用于启用 ReliableMessaging 和 SecureConversation 等服务质量(QoS)。连接至应用程序的策略集定义该应用程序的服务质量。提供了一组脚本以启用 WS-ReliableMessaging(WS-RM)、WS-SecureConversation(WS-SC)和 WS-I 可靠的安全概要文件(RSP)的策略集。RSP 是 WS-RM 和 WS-SC 的组合。提供这些脚本作为示例。您也可以使用管理控制台来启用策略集。这些脚本仅用于与样本应用程序配合使用。以下各表描述了策略集样本脚本。

用于 Windows 操作系统的脚本
文件名 描述
enableRMQoS.bat 启用 WS-ReliableMessaging V1.1
enableRM1QoS.bat 启用 WS-ReliableMessaging V1.0
enableSCQoS.bat 启用 WS-SecureConversation
enableRSPQoS.bat 启用 WS-ReliableMessaging 和 WS-SecureConversation
enableWSAQoS.bat 启用 WS-Addressing
disableRMQoS.bat 禁用 WS-ReliableMessaging V1.1
disableRM1QoS.bat 禁用 WS-ReliableMessaging V1.0
disableSCQoS.bat 禁用 WS-SecureConversation
disableRSPQoS.bat 禁用 WS-ReliableMessaging 和 WS-SecureConversation
disableWSAQoS.bat 禁用 WS-Addressing

用于 AIX、Linux 和 z/OS 等操作系统的脚本
文件名 描述
enableRMQoS.sh 启用 WS-ReliableMessaging V1.1
enableRM1QoS.sh 启用 WS-ReliableMessaging V1.0
enableSCQoS.sh 启用 WS-SecureConversation
enableRSPQoS.sh 启用 WS-ReliableMessaging 和 WS-SecureConversation
enableWSAQoS.sh 启用 WS-Addressing
disableRMQoS.sh 禁用 WS-ReliableMessaging V1.1
disableRM1QoS.sh 禁用 WS-ReliableMessaging V1.0
disableSCQoS.sh 禁用 WS-SecureConversation
disableRSPQoS.sh 禁用 WS-ReliableMessaging 和 WS-SecureConversation
disableWSAQoS.sh 禁用 WS-Addressing

用于 i5/OS 操作系统的脚本
文件名 描述
enableRMQoS 启用 WS-ReliableMessaging V1.1
enableRM1QoS 启用 WS-ReliableMessaging V1.0
enableSCQoS 启用 WS-SecureConversation
enableRSPQoS 启用 WS-ReliableMessaging 和 WS-SecureConversation
enableWSAQoS 启用 WS-Addressing
disableRMQoS 禁用 WS-ReliableMessaging V1.1
disableRM1QoS 禁用 WS-ReliableMessaging V1.0
disableSCQoS 禁用 WS-SecureConversation
disableRSPQoS 禁用 WS-ReliableMessaging 和 WS-SecureConversation
disableWSAQoS 禁用 WS-Addressing


使用以下步骤在 Windows 操作系统上运行可靠的消息传递脚本。您可以根据您的操作系统以相似方式运行所有脚本。

  1. 使用“开始”菜单打开命令提示符:单击“开始”->“运行”。输入 cmd
  2. 转到 app_server_root/samples/bin/JaxWSServicesSamples 目录。例如:cd C:/Program Files/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
  3. 运行可靠的消息传递脚本。
  4. (可选)当您运行可靠的消息传递或安全性脚本时,请指定概要文件、单元、节点或服务器名称。可靠的消息传递和安全性的启用和禁用脚本有四个可选参数:

    以下示例演示了如何在指定可选的概要文件、单元和节点参数的情况下运行“启用 WS-ReliableMessaging”脚本:

    enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

    以下示例演示了如何在指定可选的概要文件、单元和节点参数的情况下运行“禁用 WS-ReliableMessaging”脚本:

    disableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

  5. 在命令行上配置所需的其他参数。如果您的服务器启用了管理安全性,那么您必须提供用户标识和密码,否则脚本会失败,例如:
    ./enableRMQoS.sh -user myuserid -password mypassword
  6. 确保正确启动样本应用程序。如果您接收到警告消息,那么可能错误地启动了样本应用程序。使用管理控制台来停止并重新启动样本应用程序。 

将 QoS 应用于 Ping 和回传瘦客户机样本

要使用 QoS 策略集测试 Ping 和回传瘦客户机样本,请遵循这些准则。
  1. 按照策略集脚本部分中的指示,对样本应用程序应用您要测试的服务质量(QoS)。
  2. 编辑用于您的操作系统的 runSampleSei 脚本。
  3. 要添加 WS-I RSP 和 SecureConversation 策略,请添加以下语句以包含 Java 认证和授权(JAAS)登录文件的路径:

    在 Windows 操作系统上:

    set JAASLOGIN=-Djava.security.auth.login.config=<profile_root>/properties/wsjaas_client.conf

    在 AIX、Linux 和 z/OS 等操作系统上:

    export JAASLOGIN=-Djava.security.auth.login.config=<profile_root>/properties/wsjaas_client.conf

    profile_root 表示您的概要文件所在的服务器目录,例如:
    set JAASLOGIN=-Djava.security.auth.login.config=C:/IBM/WebSphere/profiles/AppSrv02/properties/wsjaas_client.conf

  4. 更改类路径语句。

    在 Windows 操作系统上:

    set CLASSPATH=%THIN_JAR%;./WSSampleClientSei.jar;.

    在 AIX、Linux 和 z/OS 等操作系统上:

    export CLASSPATH=${THIN_JAR}:./WSSampleClientSei.jar:.

    注意:类路径语句末尾包含句点(.)。 包含此句点是为了策略集装入代码能够找到 META-INF 目录。请不要省略该句点。

  5. 将 <JAASLOGIN> 和 -DUSER_INSTALL_ROOT="<profile_root>" 添加到 Java 命令。

    在 Windows 操作系统上:

    java %JAASLOGIN% -DUSER_INSTALL_ROOT= "<profile_root>" -cp "%CLASSPATH%" com.ibm.was.wssample.sei.cli.SampleClient %*

    在 AIX、Linux 和 z/OS 等操作系统上:

    java ${JAASLOGIN} -DUSER_INSTALL_ROOT="<profile_root>" -cp "${CLASSPATH} " com.ibm.was.wssample.sei.cli.SampleClient $@

  6. app_server_root/samples/bin/JaxWSServicesSamples 目录中创建名为 META-INF 的目录。
  7. 将 PolicySets 目录从 profile_root/config/cells/CELL_NAME/ 目录复制到 app_server_root/samples/bin/JaxWSServicesSamples/META-INF 目录.
  8. 将 bindings 子目录和 clientPolicyAttachment.xml 文件从 profile_root/config/cells/ CELL_NAME/applications/JaxWSServicesSamples.ear/deployments/JaxWSServicesSamples/META-INF 目录复制到 app_server_root/samples/bin/JaxWSServicesSamples/META-INF 目录。复制整个 bindings 子目录及其内容,例如 SecureConversationClientBinding 或 RAMP_client_default_bindings。
  9. 将当前目录切换到 app_server_root/samples/bin/JaxWSServicesSamples 并运行该样本。