1、环境建设
由于AXIS本身是一个基于JAVA语言开发并以Web应用程序形式发布的项目,因此在运行时需要应用服务器作为支撑。 为了方便我们选择这里。 由于AXIS本身需要使用包来处理XML信息,因此我们建议使用JDK1.4并安装4.1.24。 以下是搭建环境的步骤,根据自己的情况阅读并安装。
安装JDK1.4.1 将4.1.24安装到C:/并验证是否安装成功。 下载AXIS工程包文件axis-1_1.zip,解压,将目录下的axis子目录复制到C://。 验证AXIS的安装:重新启动服务器后,打开浏览器并输入URL:8080/axis,应出现下图所示页面。 点击链接“”,验证Axis所需的几个JAVA包是否完整。
图2
点击超链接后,AXIS会自动检查每个必需的JAVA组件,分为必需组件和可选组件。 必须保证所有需要的组件都存在,如下图所示,即表示验证成功。
图2
2.Web服务器开发
3.开发java客户端
使用 AXIS 工具将使访问 Web 服务就像我们之前描述的创建 Web 服务一样简单。 我们前面安装的AXIS环境已经包含了这样一个工具,它是一个JAVA类,名为:org..axis.wsdl。 打开命令行窗口并转到 AXIS 目录下的 WEB-INF 子目录。 确保服务已经启动,输入命令:
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
执行该命令的结果是在当前目录下生成一个子目录/axis/,该目录下有四个JAVA源文件,分别是:
Hello.java 定义了Web 服务接口,本例中只有一个hello 方法。
.java 定义了用于获取Web服务接口的方法。
.java 接口的具体实现。
.java Web服务客户端存根,通过该类与服务器进行交互。
这四个JAVA类为我们处理大部分逻辑,我们需要的就是将这些类添加到我们的项目中并创建一个我们自己的类来调用它们。 为此,我们添加了一个新类 Main.java。 为了方便起见,让这个类与刚刚生成的四个类在同一个包中。 内容如下:
//Main.java
package 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服务的世界!
工具自动生成的几个类中,类中存储了服务器相关的信息,比如URL地址等,当服务器地址改变但服务没有改变时,文件中的字符串定义直接修改,并且不需要重新生成这几个类。 具体需要修改的内容,打开文件就可以一目了然。
完成前两步后,我们就可以开始Web服务之旅了! 大多数人学习编程语言的第一步都是Hello world程序,我们也不例外。 我们将提供这样一个Web服务,通过传递一个名称,该服务返回:Hello [name],欢迎来到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:///axis中。
接下来,我们可以测试Web服务。 打开浏览器,输入刚才创建的文件名对应的URL地址:8080/axis/Hello.jws 浏览器显示结果如下:
There is a Web Service here
Click to see the WSDL
点击页面上的链接,可以查看Web服务对应的WSDL信息,如下图(下一节我们将简单介绍WSDL)
-
-
+
-
-
-
-
-
-
-
-
到目前为止我们已经完成了hello web服务,那么我们如何告诉用户如何使用该服务呢? 我们只需要告诉用户我们的 Web 服务的 URL 地址::8080/axis/Hello.jws?wsdl 就可以了! 下一节我们将介绍如何通过该地址访问相应的Web服务。