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

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

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 清单 1. 使用 JAX-RPC ServiceFactory 获得 JAX-RPC 服务 StringwsdlURL=http://localhost:6080/HelloWebService/services/Hello?wsdl";Stringnamespace="ht

清单 1. 使用 JAX-RPC ServiceFactory 获得 JAX-RPC 服务
String wsdlURL = http://localhost:6080/HelloWebService/services/Hello?wsdl"; 
String namespace = "http://Hello.com"; 
String serviceName = "HelloWebService"; 
QName serviceQN = new QName(namespace, serviceName); 
     
ServiceFactory serviceFactory = ServiceFactory.newInstance(); 
/* The "new URL(wsdlURL)" parameter is optional */ 
Service service = serviceFactory.createService(new URL(wsdlURL), serviceQN); 

由特定于厂商的 JAX-RPC ServiceFactory 可供选择。如果您想要利用某个厂商的存根,使用这些 JAX-RPC ServiceFactory 通常是非常容易的(客户机代码编写起来很简单)。然而,这样的扩展不是标准的,将很可能在其他厂商的 J2EE 实现上不起作用。

JNDI 查找
JSR 109:“JNDI 查找是在 J2EE 环境中查找 Web 服务的标准方式。”

JNDI 服务查找


J2EE 容器管理的客户机被打包成 Enterprise Archives(.EAR)文件,并且在 J2EE 容器中运行。除了 Java 代码之外,描述符也打包在该归档文件中。下面是几个不同类型的 J2EE 容器管理的客户机:

应用程序客户机容器客户机

Web 容器客户机:JavaBean 或 Servlet

EJB 容器客户机:EJB

JAX-RPC 定义了受管客户机的编程模型,而 JSR 109(“实现企业 Web 服务(Implementing Enterprise Web services)”)定义了 J2EE 容器受管的客户机的编程模型。JSR 109 的目标之一就是它的客户机编程模型遵循 JAX-RPC。然而,JSR 109 并没有推荐使用 JAX-RPC ServiceFactory 。相反,它建议客户机使用 Java 命名和目录接口(Java Naming and Directory Interface,JNDI)来获取服务接口(Service Interface)。这个过程包括下面两个步骤,同时在 清单2中进行了举例说明:

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

Tags:Java 客户机 调用

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