WEB开发网
开发学院软件开发Java 用 Java 客户机调用 Web 服务: J2SE 和 J2EE 环境... 阅读

用 Java 客户机调用 Web 服务: J2SE 和 J2EE 环境中 Web 服务客户机简介

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 实例化本地 JNDI 上下文,在此上下文中对 Web 服务进行 JNDI 查找,用 Java 客户机调用 Web 服务: J2SE 和 J2EE 环境中 Web 服务客户机简介(5),清单 2. JNDI 服务查找 Contextic=newInitialContext();Serviceser

实例化本地 JNDI 上下文。

在此上下文中对 Web 服务进行 JNDI 查找。

清单 2. JNDI 服务查找
Context ic = new InitialContext(); 
Service service = (Service) ctx.lookup("java:comp/env/service/HelloService"); 

Web 服务的名称(在本例中为 java:comp/env/service/HelloService )是在客户机应用程序的部署描述符中指定的。JSR 109 建议把服务引用的所有逻辑名组织在 service 子目录中。如果客户机环境上下文是 java:comp/env ,您就可以以下面的代码结束:

service name in context = 
client environment context + "service" subcontext + service name. 

在本例中,上下文中的服务名为:

java:comp/env/ + service/ + HelloService. 

service 子上下文(subcontext) + 服务名(例如 service/HelloService )也称为逻辑上的服务名,是在 Web 服务客户机应用程序的部署描述符中进行声明的。

JNDI 查找返回 JAX-RPC Service Interface。J2EE 容器确保在部署描述符中指定的绑定通用 JAX-RPC Service 的实现。您也可以将该查找返回的对象强制转换成您的 Web 服务的指定接口。这示于 清单3,其中 HelloService 扩展了通用的 JAX-RPC Service 接口。

清单 3. 可供选择的 JNDI 查找
Context ic= new InitialContext(); 
HelloServiceInterface service = 
  (HelloServiceInterface) ic.lookup("java:comp/env/service/HelloService"); 

然后可以使用获得的服务接口(Service Interface)来获取静态存根、动态代理或 DII Call 对象,如下面的“ 服务访问”部分所述。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Java 客户机 调用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接