有胆乃别跑完结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消息的封装。