首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2SE

Java 客戶端調用 Web 服務(二):非受管與容器管理客戶端的服務查找機制

     編輯:J2SE

兩類客戶端的差異

JAX-RPC 1.1 與 JSR 109 為 J2EE 1.4 組成部分。客戶端分為:

  • 非受管客戶端:J2SE 環境,以 java 命令直接調用,服務查找用 JAX-RPC ServiceFactory
  • J2EE 容器管理客戶端:打包為 .EAR 在容器中運行,服務查找用 JNDI

JAX-RPC ServiceFactory(JSR 101)

ServiceFactory 為抽象類別,作為 JAX-RPC Service 的工廠,廠商無關,支援可攜帶代碼。使用方式:

javax.xml.rpc.Service service = ServiceFactory.newInstance().createService(...);

需提供 Web 服務完整限定名(命名空間+服務名),可選提供 WSDL URL。步驟:

  1. (可選)指定 WSDL URL
  2. 指定服務完整限定名
  3. 調用 ServiceFactory.createService()

程式碼範例(清單 1):

String wsdlURL = "https://localhost:6080/HelloWebService/services/Hello?wsdl";
String namespace = "https://Hello.com";
String serviceName = "HelloWebService";
QName serviceQN = new QName(namespace, serviceName);

ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService(new URL(wsdlURL), serviceQN);

廠商特定 ServiceFactory 雖簡化代碼但非標準,可能無法在其他 J2EE 實作上運行。

JNDI 查找(JSR 109)

JSR 109 規定 JNDI 為 J2EE 環境查找 Web 服務的標準方式,下節將詳細說明。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved