連線測試與回應 - 配置


執行範例
執行小型用戶端範例
啟用可靠傳訊和安全

連線測試與回應範例是兩項簡單的 JAX-WS Web 服務。

連線測試範例示範單向作業。一個簡單字串值會傳給該服務。 當用戶端連上服務時,用戶端作業即完成。 此範例有兩個端點。一個端點使用 SOAP 1.1,另一個端點使用 SOAP 1.2。

回應範例示範雙向作業。一個簡單字串值會傳給該服務。 服務會在前面附加上個 ID 字串值,並將此值傳回至用戶端。 此範例有兩個端點。一個端點使用 SOAP 1.1,另一個端點使用 SOAP 1.2。回應範例亦示範同步和非同步程式設計模型,以及同步和非同步 over-the-wire 行為:


範例服務端點
URI 說明
http://localhost:9080/WSSampleSei/PingService
使用 SOAP 1.1 的連線測試服務範例
http://localhost:9080/WSSampleSei/PingService12
使用 SOAP 1.2 的連線測試服務範例
http://localhost:9080/WSSampleSei/EchoService
使用 SOAP 1.1 的回應服務範例
http://localhost:9080/WSSampleSei/EchoService12
使用 SOAP 1.2 的回應服務範例

9080 是預設值,但如果您安裝到 AppSrv01 設定檔以外的設定檔,則埠號不同。



配置範例

若要完成連線測試與回應範例的配置,請在伺服器上部署 Jax-WS Web 服務範例應用程式。如果尚未部署範例應用程式,請參閱重建及部署 JaxWSServicesSamples.ear 檔的指示。

執行範例

在開始之前,您必須在執行用戶端之前先驗證應用程式伺服器是否在執行中。

連線測試與回應範例包括兩項服務:連線測試與回應。

執行連線測試與回應範例

連線測試範例示範單向服務交易。此範例的原始檔位於 profile_root/samples/src/JaxWSServicesSamples/SampleClientSei 目錄中。

回應範例示範雙向服務交易。此範例的原始檔位於 profile_root/samples/src/JaxWSServicesSamples/SampleClientSei 目錄中。

如果要從 WebSphere Application Server 執行連線測試與回應用戶端 Servlet,請執行下列步驟:

  1. 啟動伺服器。
  2. 按一下執行

執行連線測試與回應小型用戶端範例

連線測試與回應小型用戶端範例類似連線測試與回應用戶端 Servlet。 此範例存取相同的連線測試與回應 Web 服務 Bean,但它使用的 Java 保存檔 (JAR) 需要類別路徑中的 Thin Client for JAX-WS with WebSphere Application JAR 檔。

您可以在 samples/lib/JaxWSServicesSamples 目錄中找到 WSSampleClientSei.jar 檔案。

連線測試與回應小型用戶端範例會根據您提供的參數,建立連線測試或回應 Web 服務的 JAX-WS Proxy。然後此 Proxy 會聯絡服務端點與訊息。 回應範例會等待回應。

在下列步驟中,app_server_root 變數是指應用程式伺服器安裝根目錄。

若要從 WebSphere Application Server 執行連線測試與回應小型用戶端, 請根據您的作業系統來執行下列步驟:

  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. 執行連線測試與回應小型用戶端範例。

    在 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 作業系統上順利執行連線測試與回應用戶端:


    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] 在埠 4733 接聽
    >> CLIENT: SEI Async invocation complete.
    >> CLIENT: SEI Async response is: JAX-WS==>>HELLO


若要進一步瞭解範例用戶端和應用程式如何運作,請參閱連線測試與回應 TechNotes,或檢視 Java 原始程式碼。

如需 Web 服務用戶端的相關資訊,請參閱 WebSphere Application Server Information Center Library 中有關開發及部署 Web 服務用戶端的文件。

啟用可靠傳訊 & 安全

原則集 Script
對連線測試與回應小型用戶端範例套用服務品質

原則集 Script

原則集是用來啟用服務品質 (QoS), 例如 ReliableMessaging 和 SecureConversation。附加至應用程式的原則集定義該應用程式的服務品質。 已提供一組 Script 來啟用 WS-ReliableMessaging (WS-RM)、WS-SecureConversation (WS-SC) 和 WS-I Reliable Secure Profile (RSP) 的原則集。RSP 是 WS-RM 與 WS-SC 的組合。所提供的這些 Script 是範例。您也可以利用管理主控台啟用原則集。這些 Script 是設計為只處理範例應用程式。 下列表格說明原則集範例 Script。

Windows 作業系統的 Script
檔名 說明
enableRMQoS.bat 啟用 WS-ReliableMessaging 1.1 版
enableRM1QoS.bat 啟用 WS-ReliableMessaging 1.0 版
enableSCQoS.bat 啟用 WS-SecureConversation
enableRSPQoS.bat 啟用 WS-ReliableMessaging 與 WS-SecureConversation
enableWSAQoS.bat 啟用 WS-Addressing
disableRMQoS.bat 停用 WS-ReliableMessaging 1.1 版
disableRM1QoS.bat 停用 WS-ReliableMessaging 1.0 版
disableSCQoS.bat 停用 WS-SecureConversation
disableRSPQoS.bat 停用 WS-ReliableMessaging 與 WS-SecureConversation
disableWSAQoS.bat 停用 WS-Addressing

AIX、Linux 和 z/OS 之類的 Script:
檔名 說明
enableRMQoS.sh 啟用 WS-ReliableMessaging 1.1 版
enableRM1QoS.sh 啟用 WS-ReliableMessaging 1.0 版
enableSCQoS.sh 啟用 WS-SecureConversation
enableRSPQoS.sh 啟用 WS-ReliableMessaging 與 WS-SecureConversation
enableWSAQoS.sh 啟用 WS-Addressing
disableRMQoS.sh 停用 WS-ReliableMessaging 1.1 版
disableRM1QoS.sh 停用 WS-ReliableMessaging 1.0 版
disableSCQoS.sh 停用 WS-SecureConversation
disableRSPQoS.sh 停用 WS-ReliableMessaging 與 WS-SecureConversation
disableWSAQoS.sh 停用 WS-Addressing

i5/OS 作業系統的 Script
檔名 說明
enableRMQoS 啟用 WS-ReliableMessaging 1.1 版
enableRM1QoS 啟用 WS-ReliableMessaging 1.0 版
enableSCQoS 啟用 WS-SecureConversation
enableRSPQoS 啟用 WS-ReliableMessaging 與 WS-SecureConversation
enableWSAQoS 啟用 WS-Addressing
disableRMQoS 停用 WS-ReliableMessaging 1.1 版
disableRM1QoS 停用 WS-ReliableMessaging 1.0 版
disableSCQoS 停用 WS-SecureConversation
disableRSPQoS 停用 WS-ReliableMessaging 與 WS-SecureConversation
disableWSAQoS 停用 WS-Addressing


若要在 Windows 作業系統上執行可靠的傳訊 Script,請使用下列步驟。您可以根據自己的作業系統,以類似方式執行所有 Script。

  1. 使用「開始功能表」開啟命令提示字元:按一下「開始」->「執行」。輸入 cmd
  2. 切換至 app_server_root/samples/bin/JaxWSServicesSamples 目錄。 例如:cd C:/Program Files/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
  3. 執行可靠傳訊 Script。
  4. (選用)當您執行可靠傳訊或安全 Script 時,可指定設定檔、Cell、節點或伺服器名稱。 可靠傳訊和安全的啟用和停用 Script 有四個選用參數:

    下列範例示範如何以指定的選用設定檔、Cell 和節點參數來執行 Enable WS-ReliableMessaging Script:

    enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

    下列範例示範如何以指定的選用設定檔、Cell 和節點參數來執行 Disable WS-ReliableMessaging Script:

    disableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01

  5. 依需要,在指令行上配置其他參數。如果伺服器已啟用管理安全, 則您必須提供使用者 ID 和密碼,否則 Script 會失敗,例如:
    ./enableRMQoS.sh -user myuserid -password mypassword
  6. 請確定範例應用程式正確啟動。如果您接收到警告訊息, 則範例應用程式可能不正確啟動。請使用管理主控台來停止範例應用程式,然後重新啟動範例應用程式。 

對連線測試與回應小型用戶端範例套用服務品質

若要以服務品質 (QoS) 原則集測試「連線測試與回應小型用戶端範例」, 請遵循下列準則。
  1. 將您要測試的服務品質 (QoS) 套用至範例應用程式,如「原則集 Script」一節所指示。
  2. 編輯適合您作業系統的 runSampleSei Script。
  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. profile_root/config/cells/CELL_NAME/applications/JaxWSServicesSamples.ear/deployments/JaxWSServicesSamples/META-INF 目錄,將連結子目錄和 clientPolicyAttachment.xml 檔複製到 app_server_root/samples/bin/JaxWSServicesSamples/META-INF 目錄。 複製整個連結子目錄及其內容,例如 SecureConversationClientBinding 或 RAMP_client_default_bindings。
  9. 將現行目錄切換至 app_server_root/samples/bin/JaxWSServicesSamples,然後執行範例。