网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

用AXIS生成WSDL文件(基础篇)

http://www.diybl.com/ 2007-12-6  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

一、环境搭建


由于AXIS本身是基于JAVA语言开发的项目,并且是以Web应用形式发布的,因此它运行时需要一个应用服务器作为支撑。为了方便我们这里选用的是Tomcat。由于AXIS本身需要用到处理XML信息的包,所以我们建议使用JDK1.4并安装Tomcat 4.1.24。下面是环境搭建步骤,读取根据自身情况进行安装。

  1. 安装JDK1.4.1
  2. 安装Tomcat 4.1.24到C:\Tomcat并验证安装是否成功
  3. 下载AXIS项目打包文件axis-1_1.zip解压缩后将目录中的webapps目录下的axis子目录拷贝到C:\Tomcat\webapps下。
  4. 验证AXIS的安装:重新启动Tomcat服务器后打开浏览器输入网址http://localhost:8080/axis 后应该出现如下图所示页面,点击链接"Validate"来验证Axis所需的几个JAVA包是否齐全。


图2

点击超链接Validate后,AXIS会自动检查所需的每一个JAVA组件,这协组件分为:必需组件以及可选组件,必须保证所有必需组件都存在,如下图所示即为验证成功。



图2


 
 
二、Web Service服务端开发
 
三、开发java客户端
 
使用AXIS的工具将使Web服务的访问和我们之前介绍的创建一个Web服务一样的简单。我们前面安装的AXIS环境中已经包含着这样的工具,它是一个JAVA类,类名为:org.apache.axis.wsdl.WSDL2Java。打开命令行窗口,转到AXIS目录下的WEB-INF子目录。确保Tomcat服务已经处于启动状态,键入命令 :
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl

该命令执行的结果是在当前所在目录下产生一个子目录 localhost/axis/Hello_jws,该目录下有四个JAVA源文件,它们分别是:

Hello.java 定义了Web服务接口,此例中只有一个hello方法。

HelloService.java 定义了用于获取Web服务接口的方法。

HelloServiceLocator.java 接口HelloService的具体实现。

HelloSoapBindingStub.java Web服务客户端桩,通过该类与服务器交互。

这四个JAVA类帮我们处理了大部分的逻辑,我们需要的仅仅是把这些类加到我们的项目然后创建一个我们自己的类来调用它们即可。为此我们新加一个类Main.java,为了方便,让这个类与刚产生的四个类都在同一个包下。内容如下:

//Main.javapackage localhost.axis.Hello_jws;public class Main{public static void main(String[] args) throws Exception{ HelloService service = new HelloServiceLocator(); Hello hello = service.getHello();  System.out.println("Response:"+hello.hello("罐头"));  }}

使用以下命令进行编译:

javac -classpath lib\axis.jar;lib\jaxrpc.jar localhost\axis\Hello_jws\*.java

如果编译没有问题的话执行该测试程序:

java -Djava.ext.dirs=lib -cp . localhost.axis.Hello_jws.Main//运行结果:Response:你好罐头,欢迎来到Web服务的世界!

在WSDL2Java工具自动产生的几个类中,类HelloServiceLocator中保存这一些跟服务器相关的信息,例如URL地址等,当服务器的地址更改后但是服务并没有改动的时候直接修改该文件中的字符串定义,而无需重新生成这几个类。具体需要修改的内容,打开该文件便可一目了然。

 


经过了前两步之后我们就可以开始Web服务之旅了!大多数人在学习一种编程语言的第一步都是从Hello world程序开始的,我们也不例外。我们将提供这样一个Web服务,通过给它传入姓名,服务返回:你好[姓名],欢迎来到Web服务的世界。这就是我们的需求。我们将马上根据AXIS的要求完成我们的需求,你就会发现原来Web服务可以这么简单!

编写JAVA类Hello.java,内容如下:


public class Hello{ public String hello(String name){  if(name==null)   name = "";  return "你好"+name+",欢迎来到Web服务的世界!";}}


仅此而已,无需编译,将该文件改名为Hello.jws并拷贝到AXIS应用目录C:\Tomcat\webapps\axis下。

下面我们就可以测试该Web服务了,打开浏览器并输入刚刚创建的文件名对应的URL地址 http://localhost:8080/axis/Hello.jws 浏览器显示如下结果:


Th
欢迎光临DIY部落,点击这里查看更多文章教程   【点击打包该文章】
[1] [2]
如果图片或页面不能正常显示请点击这里 站内搜索:   

文章评论

请您留言