JAX-RPC Web 服務 |
|
|
![]() |
|
配置和執行 | Technotes | Javadoc | 使用 Ant 建置 |
配置範例 |
執行範例 |
AddressBook 用戶端有兩種,一種是 Java 2 Standard Edition (J2SE) 版本,另一種是 Java 2 Enterprise Edition (J2EE) 儲存器管理版本。如果您要完全利用 J2EE 儲存器服務的優點,請執行 J2EE 版本。
若要完成此範例的配置,請在伺服器上部署 JAX-RPC Web 服務範例應用程式。如果尚未部署範例應用程式,請參閱重新建置和部署 WebServicesSamples.ear 檔的指示。
請確認先啟動伺服器,之後再執行用戶端。
AddressBook 用戶端有兩種,一種是 J2SE 外部版本,另一種是 Java 2 Enterprise Edition (J2EE) 儲存器管理版本。每一個用戶端都有四種 AddressBook Web 服務 Bean 的變體部署在伺服器上。AddressBook Web 服務 Bean 會傳回固定值,而且不需要網際網路連線就可以執行。
執行 J2SE 簡式 AddressBook 用戶端 |
執行 J2EE 應用程式 AddressBook 用戶端 |
J2SE AddressBook 用戶端所示範的是查詢 Web 服務 AddressBook Bean,從 Web 服務取得位址。您可以在 profile_root/samples/src/WebServicesSamples/Clients/simpleClients/samples/address 目錄中,找到它的程式碼。
當您執行 AddressBookClient 時,AddressBook.wsdl 檔必須位於現行目錄中。 從 simpleClients.jar 檔中解壓縮 AddressBook.wsdl 檔,並將它放在執行本範例所在的目錄。 您可以在 install_root/samples/lib/WebServicesSamples 目錄中找到 simpleClients.jar 檔。
J2SE 用戶端在每一個部署在伺服器上的 AddressBook Web 服務 Bean,都會迴圈兩次。在進行第一個迴圈時,用戶端是呼叫 getPort 方法,取得範例應用程式每一個 Bean 的專屬埠。用戶端會在每一個埠上呼叫 getAddressFromName 方法。第二個迴圈則從其中任何一個埠開始,然後一一進行迴圈,將其端點位址設於四個可能端點的每一個。用戶端會在每一個埠上呼叫 getAddressFromName 方法。
如果需要呼叫 WebSphere 用戶端的其他一般指示,請參閱 InfoCenter 中關於開發小型應用程式用戶端程式碼的主題。
如果要從 WebSphere Application Server 執行 J2SE 簡式 AddressBook 用戶端,請根據作業系統來執行下列步驟:
C:\>"%JAVA_HOME%\bin\java" %WAS_LOGGING% -classpath "%WAS_CLASSPATH%;%WAS_HOME%\samples\lib\WebServicesSamples\simpleClients.jar;%WAS_HOME%\runtimes\com.ibm.ws.webservices.thinclient_7.0.0.jar" samples.address.AddressBookClient >> 利用埠 AddressBookW2JE 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 1 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 利用埠 AddressBookJ2WE 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 2 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 利用埠 AddressBookJ2WB 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 3 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 利用埠 AddressBookW2JB 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 4 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> >> 取得埠 AddressBookJ2WB >> 將埠 AddressBookJ2WB 的端點設定到 http://localhost:9080/AddressBookW2JE/services/AddressBook >> 查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 1 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 將埠 AddressBookJ2WB 的端點設定到 http://localhost:9080/AddressBookJ2WE/services/AddressBook >> 查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 2 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 將埠 AddressBookJ2WB 的端點設定到 http://localhost:9080/AddressBookJ2WB/services/AddressBook >> 查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 3 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 將埠 AddressBookJ2WB 的端點設定到 http://localhost:9080/AddressBookW2JB/services/AddressBook >> 查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 4 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 |
J2EE 應用程式 AddressBook 用戶端很類似 J2SE 簡式 AddressBook 用戶端。 它可以存取同樣的 AddressBook Web 服務 Bean,不過卻是利用 launchClient 指令, 從 J2EE 應用程式用戶端儲存器存取。
J2EE 用戶端會在每一個部署在伺服器上的 AddressBook Web 服務 Bean 進行迴圈。這個用戶端是利用 Java 命名和目錄介面 (JNDI) lookup 指令,來尋找 AddressBook 服務,並且發出 get port 呼叫,取得每一個 AddressBook Bean 的專屬埠。用戶端會在每一個埠上呼叫 getAddressFromName 方法。
在下列步驟中,install_root 變數代表 WebSphere 安裝根目錄。
如果要從 WebSphere Application Server 執行 J2EE 應用程式 AddressBook 用戶端,請根據作業系統來執行下列步驟:
C:\WebSphere\AppServer\samples>\WebSphere\AppServer\bin\launchClient \WebSphere\AppServer\samples\lib\WebServicesSamples\ApplicationClients.ear -CCjar=AddressBookClient.jar IBM WebSphere Application Server 7.0 版 J2EE Application Client 工具 Copyright IBM Corp., 1997-2008 WSCL0012I: 正在處理指令行引數。 WSCL0013I: 正在起始設定 J2EE Application Client 環境。 [3/29/06 14:47:51:062 CST] 0000000a W UOW=null 來源=com.ibm.ws.ssl.config.SSLConfig 組織=IBM 產品=WebSphere 元件=Application Server 執行緒=[P=269328:O=0:CT] CWPKI0041W : 一或多個金鑰儲存庫正在使用預設密碼。 WSCL0035I: 已完成 J2EE Application Client 環境的起始設定。 WSCL0014I: 正在呼叫 Application Client 類別 com.ibm.websphere.samples.webservices.addr.AddressBookClient >> 利用埠 AddressBookW2JE 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 1 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 利用埠 AddressBookJ2WE 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 2 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 利用埠 AddressBookJ2WB 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 3 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 >> 利用埠 AddressBookW2JB 來查詢 'Purdue Boilermaker' 的地址 >> 回信地址: 4 University Drive West Lafayette, IN 47907 電話:(765) 555-4900 |
您可以進一步瞭解,用戶端和應用程式如何參照 Address Book TechNotes 以及檢視 Java 程式碼來進行工作。