配置客户端环境
客户端用到了多个捆绑在Sun ONE应用服务器中的jar文件。本节讲述如何配置你的客户端环境。
如果在一个安装了Sun ONE应用服务器的系统中开发客户端应用程序,需要包括必要的jar文件来帮助客户端开发。
如果客户端环境不同于安装了Sun ONE应用服务器的系统,必须执行以下步骤:
如果使用1.3版本的Java 2 SDK,执行以下步骤:
1.拷贝以下的jar文件到你的客户端开发环境中。
mail.jar – Java邮件API. 安装在install_dir/share/lib
activation.jar – JavaBeans激活框架. 安装在install_dir/share/lib.
fscontext.jar – 含有文件系统服务提供者。安装在install_dir/share/lib.
jaxm-api.jar – 用于XML消息传递的Java API。安装在install_dir/share/lib.
jaxrpc-api.jar -用于基于XML的远程过程调用的Java API。安装在install_dir/share/lib.
jaxrpc-impl.jar - 用于基于XML的远程过程调用实现的Java API。安装在 install_dir/share/lib.
jaxr-api.jar – 用于XML注册中心的Java API。安装在install_dir/share/lib.
jaxr-impl.jar -用于XML注册中心实现的Java API。安装在install_dir/share/lib.
saaj.-api.jar – SOAP运行时API。安装在install_dir/share/lib.
saaj-impl.jar – SOAP实现。安装在install_dir/share/lib.
commons-logging.jar –含有一个日志库程序包。安装在install_dir/share/lib.
jaxp-api.jar – JAXP的javax.xml.parsers和javax.xml.transform组件。这些程序包包含的API为应用程序提供了获取XML处理实现实例的一致方法。
sax.jar – 用于处理XML的简单API(SAX)的API以及帮助类,用于串行访问XML数据。
dom.jar –用于文件对象模型(DOM)的API以及帮助类,用来从XML数据创建驻留内存的树状结构。
xercesImpl.jar – SAX和DOM解析器的实现类,也是JAXP API的xerces特殊实现。
xalan.jar - "一流的" (解释) XSLT处理器。
xsltc.jar – XSLT编译处理器。
2.添加以下jar文件到classpath的前面。这些jar文件必须出现在classpath的前面,以免使用任何其他的解释器:
jaxp-api.jar
dom.jar
sax.jar
xercesImpl.jar
xalan.jar
xsltc.jar
3.把余下的jar文件也添加到classpath。
如果使用1.4版本的Java 2 SDK来开发客户端,请执行下面的步骤:
拷贝所有步骤1中的jar文件到你的客户端开发环境并且添加它们到classpath中,除了以下文件:
jaxp-api.jar
dom.jar
sax.jar
xercesImpl.jar
xalan.jar
xsltc.jar
J2SE 1.4是第一个捆绑了JAXP 1.1实现的JDK版本。这允许开发人员不必为他们的应用程序提供解析器和XSLT处理器,就能够编写应用程序。然而,用一个新版本覆盖这个JDK实现,你需要采用“授权标准覆盖机制(Endorsed Standards Override Mechanism)”。
覆盖JAXP实现
为了使用JAXP 1.2实现,请拷贝以下jar文件到Java_home/jre/lib/endorsed/目录下:
dom.jar
sax.jar
xercesImpl.jar
xalan.jar
xsltc.jar
如果/endorsed目录不存在,必须创建它。
注意:jaxp-api.jar文件不应该被拷贝,因为它包含了不能改变的高层API。
Jar文件必须存在于Java_home/jre/lib/endorsed/目录下,从而覆盖以前版本的、作为1.4 平台一部分的Xalan类库。因为这个特殊要求,所以在java/javac命令行中利用-classpath 选项指定这些类库是不可能的。
或者,你可以在开始客户端开发的时候,使用java.endorsed.dirs系统属性动态地添加这些jar文件到JVM。使用系统属性给了你为不同应用使用不同实现的自由。关于如何使用“授权标准覆盖机制”的更多信息,请访问以下网址:
http://java.sun.com/j2se/1.4/docs/guide/standards
使用JAX-RPC的服务和客户端
本模块讲述在Sun ONE应用服务器7环境下开发、组装、以及部署基于RPC的Web服务的过程;以及如何创建调用此类服务的客户端。
本模块包括了以下几节:
JAX-RPC实现
用于基于XML的远程过程调用的Java API是用来创建使用远程过程调用(RPC)的Web服务和客户端的API。RPC机制允许客户端执行位于分布式环境中其他系统上的过程。在JAX-RPC中,一个远程过程调用由基于XML的协议来描述,比如SOAP。SOAP规范定义了封装结构、编码规则、以及描述远程过程调用和响应的约定。这些调用和响应在HTTP上作为SOAP消息被传递。想要了解更多关于SOAP消息的信息,请参见"SOAP消息"。
JAX-RPC采用了HTTP、 SOAP、以及由世界互联网组织(W3C)制定的WSDL技术,该技术使客户端与运行在非Java平台上的web服务之间的相互访问成为可能。Sun ONE应用服务器的JAX-RPC API实现采用了HTTP作为传输协议。这个实现还为生成stub、tie、以及其他客户端和服务器端需要的部件提供了必要工具。请参见"JAX-RPC工具"。
Sun ONE应用服务器的JAX-RPC实现为开发人员带来了如下益处:
使JAX-RPC客户端能够调用基于异质平台开发的Web服务。
底层运行机制的复杂性对开发人员是隐藏的,比如SOAP协议级机制,编组和反编组。JAX-RPC运行时系统或程序库为Web 服务编程模型抽象化了这些运行时机制。这样就简化了Web服务的开发。
为从Java 到 WSDL,和从WSDL到Java的映射提供了支持,这种映射是Web服务终端和客户端开发的一部分。(Web服务终端是一个地址,在该地址Web服务可以通过特定的协议或数据格式被访问,从该地址Web服务的方法能够被调用。)
支持J2SE SDK类、编写出来的应用程序类、以及JavaBean组件。要得了解更多信息,请参见"JAX-RPC支持的Java语言类型"。
使Web服务终端可以利用Servelt模型进行开发。Web服务终端部署在应用服务器上。这些终端由WSDL文件进行描述。
JAX-RPC客户端能够使用基于存根的动态代理,或动态调用接口(DII)编程模型来调用异质的Web服务终端。 提供了wscompile和wsdeploy工具帮助Web服务和客户端的开发。请参见"JAX-RPC工具"。