简单的介绍一下开发步骤,首先当然是下载必要的工具包了。我在开发的时候使用了Eclipse和Tomcat作为开发环境。然后下载Axis2.地址是:http://ws.apache.org/axis2/
下载的时候你会看到Standard Binary Distribution,Source,War和Documents。
建议你全部下载。除了source外其他几个后面都会用到。尤其是他的doc,写的很好比Axis1的详细。好了下载开始我们的Axis2之旅吧。
第一步:环境设置:
1、将Axis2的war包复制到tomcat 的webapps下,这是web services的运行和部署环境。
2、解压缩Binary包,放在一个指定的目录下,如c:/axis2,然后设置环境变量AXIS2_HOME.Path
第二步:开发HelloWorld服务。
1、首先写一个最简单的bean,如下:
package com.lgd;
public class HelloWorld {
public String sayHello(String name){
return "Hello World"+name;
}
}
如上所示。我们的这个类中只有一个方法sayHello,一会儿我们会把他实现为一个服务。
2、写一个services.xml用于部署web services,给个例子
This service is to sayHello
在上面的描述中,service 的name属性是必须的他描述了这个服务的名称。然后就是
operation 描述了这个服务中的操作是什么,这里只有一个sayHello.
好了。这就是一个最简单的web services.不要忘记,最后还要打包一下。
3、打包web服务。
打包的方法很简单,在Eclipse中就提供了打包的工具,不过要注意的是,这里需要将最后打包的文件后缀改成.aar。 还有要记住,services.xml文件是放在META-INF文件夹下的。
你也许会问,这就结束了吗,是的,如果从开发的角度讲,是的。剩下的你就是把这个打包好的.aar文件发布到Axis2运行环境中就可以了。具体方法是,把他复制到,Tomcat中Axis2环境中的services目录下,比如我的是D:\tomcat6\webapps\axis2\WEB-INF\services。
好了成功部署后你应该可以在http://localhost:8080/axis2/weserices/HelloWorld?wsdl看到相关的服务描述信息。
现在可以说,大功告成了,一个简单的web服务就开发完了。什么?你说怎么知道成功了?对,我们测试一下:
1、首先需要生成测试框架代码,测试需要一个相应的助手类,别担心Axis2已经为你做好了相应的工具了。记得我们先前设置过Axis2的环境变量吗?好,现在我们直接通过下面的命令来生成助手类。
wsdl2java -uri http://localhost:8080/axis2/weserices/HelloWorld?wsdl -o c:/test1
这样,我们就在c:/test1目录下生成了两个文件,他们是客户端助手类。剩下的就是写一个简单的测试类,如下:
public class TestHelloMain {
/**
* @param args
*/
public static void main(String[] args) {
try {
HelloWorldStub hs=new HelloWorldStub("http://127.0.0.1:8080/axis2/services/HelloWorld");
HelloWorldStub.SayHello request=new HelloWorldStub.SayHello();
request.setName("tom");
SayHelloResponse ss=hs.sayHello(request);
String ss2=ss.get_return();
System.out.println(ss2);
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如无意外,你应该可以看到控制台会答应 Hello World Tom.
祝贺你,你已经开发了真正意义上的web 服务了。
没有评论:
发表评论