有胆乃别跑完结txt下载:TOMCAT+AXIS进行WEBSERVICE开发的配置和HELLOWORLD程序_杨广渊

来源:百度文库 编辑:偶看新闻 时间:2024/05/01 21:13:04

Axis框架来自 Apache开放源代码组织,它是基于JAVA语言的最新的SOAP规范(SOAP1.2)和 SOAP with Attachments规范(来自Apache Group)的开放源代码实现。有很多流行的开发工具都使用AXIS作为其实现支持Web服务的功能,例如JBuilder以及著名的Eclipse J2EE插件Lomboz。它能与众多服务器如TOMCAT、WEBLOGIC等相集成。它是以Servlet的方式运行的,而服务器的作用相当于Servlet容器(Container),因此只要配置得当,就可以使Axis在支持servelet2.2以上的环境中运行。AXIS的最新版本是1.2,可以从http://ws.apache.org/axis/index.html下载软件包。

1.TOMCAT+AXIS的安装配置 首先机子上应该安装JDK1.5版本以上(带有XML解析包)。我这里是1.5.0.6

从APACHE的官方网站(www.apache.org)下载TOMCAT安装软件。下载版本要在4.0以上。这里用的是5.0版本。安装完后,启动TOMCAT,访问http://localhost:8080/安装成功应该出现Apache启动页面。以下用TOMCAT_HOME表示TOMCAT的安装主目录。

解压缩AXIS软件包(这里为1.4版本)。我这里是解压缩到D:\axis-bin-1_4。把D:\axis-bin-1_4\axis-1_4\webapps\axis文件夹复制到TOMCAT_HOME\webapps文件夹下面。重新启动TOMCAT,访问http://localhost:8080/axis/,出现Apache-Axis启动页面。点击链接Validation进入页面。上面会显示已经找到的jar包和未找到的jar包。对于未找到的jar包。可以从它提示的链接中下载。我缺少activation.jar,mail.jar,xerces.jar这里在可选组件(optional components)中提示缺少xml-security包。从它提示的地址下载软件包后,解压缩后在lib文件夹下,将xalan.jar和xmlsec-1.2.1.jar复制到TOMCAT_HOME\webapps\axis\WEB-INF\lib下。重新启动TOMCAT,再点击链接Validation进入页面后。将没有未找到包的提示了。

接下来配置类路径。右键点击我的电脑——属性——高级——环境变量。在系统变量中选择ClassPath进行编辑。增加下列类路径(以“;”间隔符)。

.;%TOMCAT_HOME%\webapps\axis\WEB-INF\lib\axis.jar;%TOMCAT_HOME%\webapps\axis\WEB-INF\lib\commons-discovery-0.2.jar;%TOMCAT_HOME%\webapps\axis\WEB-INF\lib\jaxrpc.jar;%TOMCAT_HOME%\webapps\axis\WEB-INF\lib\saaj.jar;%TOMCAT_HOME%\webapps\axis\WEB-INF\lib\wsdl4j-1.5.1.jar;%TOMCAT_HOME%\webapps\axis\WEB-INF\lib\commons-logging-1.0.4.jar

 

 

以上几个为 必须设置的类路径。否则不能运行web service。以下几个可以选择设置。

 

TOMCAT_HOME\webapps\axis\WEB-INF\lib\axis-ant.jar(使用ANT)

TOMCAT_HOME\webapps\axis\WEB-INF\lib\log4j-1.2.8.jar(使用log4j)

TOMCAT_HOME\webapps\axis\WEB-INF\lib\xalan.jar(对XML进行加密)

TOMCAT_HOME\webapps\axis\WEB-INF\lib\ xmlsec-1.2.1.jar(对XML进行加密)

TOMCAT_HOME\common\lib\mail.jar(带附件的soap消息)

TOMCAT_HOME\common\lib\activation.jar(带附件的soap消息)

到此为止基本设置完成。下面介绍和分析HelloWorld程序。

HelloWorld程序

下面以一个HelloWorld程序试验一下配置是否成功,同时也了解一下web service的程序。SOAP分为两种通信模型,一种是SOAP RPC(远程过程调用),一种SOAP MESSAGING(消息交换)。HelloWorld程序是属于SOAP RPC。即由客户端发出请求,调用服务器端的程序。并返回结果。

首先编写HelloWorldService.jws文件保存到TOMCAT_HOME\webapps\axis下。

public class HelloWorldService {

private final static String sGreeting= "Hello World!" ;

public String getMessage() {

return(sGreeting) ;

}

}

启动TOMCAT,浏览器输入http://localhost:8080/axis/HelloWorldService.jws?wsdl

会出现wsdl页面。说明可以提供正常服务了。

现在可以制作客户端了程序了,先在你的C:\下建一个资料夹叫做 prj 或是任何名称也可以,然后打开你的MS-DOS模式 , 先进入c:\prj下面输入:

java org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/HelloWorldService.jws?wsdl

如果你看到这样的画面就表示正常运作并自动产生四个.JAVA的档案了,如果出现

org/apache/...CLASS NOT FOUND之类的话可能你的ClASSPATH设置的有问题。

在C:\prj\localhost\axis\HelloWorldService_jws下面产生以下四个文件

HelloWorldService.java

HelloWorldServiceService.java

HelloWorldServiceServiceLocator.java

HelloWorldServiceSoapBindingStub.java

接下来我们就要写一个client.java简单的程序来存取这个WebService,当然这只是一个范例,可以用Swing等作更漂亮的图形接口用editor写如下的程序代码,文件名为client.java

package localhost.axis.HelloWorldService_jws;

import java.lang.*;

public class client

{

public static void main(String[] args) throws Exception

{

   HelloWorldServiceServiceLocator

          Service=new HelloWorldServiceServiceLocator();

   HelloWorldService port=Service.getHelloWorldService();

   String response=port.getMessage();

   System.out.println(response);

}

}

写好之后放在C:\prj\localhost\axis\HelloWorldService_jws下面。启动服务器。

然后在C:\prj\localhost\axis\HelloWorldService_jws下面执行 javac *.java 将其编译成class文件之后退到 c:\prj 下面执行 :

java localhost.axis.HelloWorldService_jws.client

正常的话将出现Hello World!

通过分析可以看出HelloWorldService.java和HelloWorldServiceService.java是两个接口文件。负责调用远程方法的是HelloWorldServiceSoapBindingStub.java文件。编程的时候不用涉及SOAP消息的封装。