連線測試與回應 -
配置
|
 |
連線測試與回應範例是兩項簡單的 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 服務範例應用程式。如果尚未部署範例應用程式,請參閱的指示。
在開始之前,您必須在執行用戶端之前先驗證應用程式伺服器是否在執行中。
連線測試與回應範例包括兩項服務:連線測試與回應。
連線測試範例示範單向服務交易。此範例的原始檔位於 profile_root/samples/src/JaxWSServicesSamples/SampleClientSei 目錄中。
回應範例示範雙向服務交易。此範例的原始檔位於 profile_root/samples/src/JaxWSServicesSamples/SampleClientSei 目錄中。
如果要從 WebSphere Application Server 執行連線測試與回應用戶端 Servlet,請執行下列步驟:
- 啟動伺服器。
- 按一下執行。
連線測試與回應小型用戶端範例類似連線測試與回應用戶端 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 執行連線測試與回應小型用戶端,
請根據您的作業系統來執行下列步驟:
- 啟動伺服器。
- 開啟命令提示字元。
- 跳至 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
- 執行連線測試與回應小型用戶端範例。
在 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 服務用戶端的文件。
原則集是用來啟用服務品質 (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。
- 使用「開始功能表」開啟命令提示字元:按一下「開始」->「執行」。輸入 cmd。
- 切換至
app_server_root/samples/bin/JaxWSServicesSamples 目錄。
例如:cd C:/Program Files/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
- 執行可靠傳訊 Script。
- 若要執行啟用可靠傳訊 Script,請輸入此指令:
enableRMQos.bat
- 若要執行停用可靠傳訊 Script,請輸入此指令:
disableRMQos.bat
- (選用)當您執行可靠傳訊或安全 Script 時,可指定設定檔、Cell、節點或伺服器名稱。
可靠傳訊和安全的啟用和停用 Script 有四個選用參數:
- 設定檔:應用程式伺服器設定檔
- cell:應用程式伺服器 Cell
- 節點:應用程式伺服器節點
- 伺服器:應用程式伺服器名稱
下列範例示範如何以指定的選用設定檔、Cell 和節點參數來執行 Enable
WS-ReliableMessaging Script:
enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01
下列範例示範如何以指定的選用設定檔、Cell 和節點參數來執行 Disable
WS-ReliableMessaging Script:
disableRMQoS.bat AppSrv02
MyServerNode01Cell MyServerNode01
- 依需要,在指令行上配置其他參數。如果伺服器已啟用管理安全,
則您必須提供使用者 ID 和密碼,否則 Script 會失敗,例如:
./enableRMQoS.sh -user myuserid -password
mypassword
- 請確定範例應用程式正確啟動。如果您接收到警告訊息,
則範例應用程式可能不正確啟動。請使用管理主控台來停止範例應用程式,然後重新啟動範例應用程式。
若要以服務品質 (QoS) 原則集測試「連線測試與回應小型用戶端範例」,
請遵循下列準則。
- 將您要測試的服務品質 (QoS) 套用至範例應用程式,如「原則集 Script」一節所指示。
- 編輯適合您作業系統的 runSampleSei Script。
- 若要新增 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
- 變更類別路徑陳述式。
在 Windows 作業系統上:
set
CLASSPATH=%THIN_JAR%;./WSSampleClientSei.jar;.
在 AIX、Linux 和 z/OS 之類的作業系統上:
export
CLASSPATH=${THIN_JAR}:./WSSampleClientSei.jar:.
附註:句點 (.) 已包括在類別路徑陳述式的結尾處。
包括此句點,可使原則集載入程式碼找到
META-INF 目錄。請勿省略句點。
- 將 <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
$@
- 在 app_server_root/samples/bin/JaxWSServicesSamples 目錄中建立一個名為 META-INF 的目錄。
- 將 PolicySets 目錄從
profile_root/config/cells/CELL_NAME/ 目錄複製到
app_server_root/samples/bin/JaxWSServicesSamples/META-INF 目錄。
- 從 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。
- 將現行目錄切換至 app_server_root/samples/bin/JaxWSServicesSamples,然後執行範例。