teamlet发表于 2007年03月05日 在网上看到的由--呼必斯哈拉图--写的"Apache AXIS 开发 Web Services Step By Step",跟着做了一遍。 非常感谢呼必斯哈拉图,写得非常的详细,图文并茂。 一、环境准备 1.1软件下载准备 Axis War包: Axis Eclipse plug-in(代码生成工具和打包工具): Eclipse 3.2: MyEclipse5.5M1: 1.2安装 A.首先搭建开发环境,将下载的Eclipse解压缩到一个目录,D:\eclipse-SDK-3.2-win32。 内容为:
E.下面开始搭建Web Services的部署环境。 F.将axis2.war包拷贝到tomcat安装目录下的webapps目录。 G.启动Tomcat(D:\Tomcat5.5\bin\startup.bat),打开浏览器输入并访问:http://127.0.0.1:8080/axis2 来查看,结果如下图,表示axis2已经工作正常。 二、快速开始 2.1创建webApps项目 B.点击下一步按钮,显示如下图:
C.选择“src”目录作为“Enter or select the parent folder”的值,“File name”值给定为SayHello.wsdl。 D.下一步》所有界面内容取默认值,Finish! E.显示WSDL设计器的界面如下:
F.修改图中标红色的部分: 2.3从WSDL生成Java代码 A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Code Generator”.点击“Next”
E.下一步后,选择SayHello\src目录,如下图: Finish ! F.重复从A到C的步骤,然后生成服务端代码,设置如下: G.结束后,刷新项目,如图: I.在SayHelloTest.java 中引入junit包。 2.4编写业务代码
public
org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest param0)
{ // Todo fill this with the necessary business logic throw new java.lang.UnsupportedOperationException(); } 修改为:
public
org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest request)
{ try {
SayHelloResponse response = new SayHelloResponse();
response.setOut("Hi,"+request.getIn()+".How are you?");
return response;
}catch(UnsupportedOperationException e)
{
throw e;
}
} 2.5打包 A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Services Archive”.点击“Next”进入下一个页面。 B.选择编译好的class文件所在目录(本项目应该是WebRoot下面WEB-INF/classes),“Next”进入下一步。 C.选择WSDL文件所在目录,此处为src目录下的SayHello.wsdl文件。“Next”,再“Next”。选择services.xm文件。 D.点击“Next”,将记入最后一个页面,此处有两个选项,一个是输出目录一个是处处文件名称。这里的输出文件名称给的是SayHello。点击“Finish”完成。 2.6部署 A.将打包好的文件SayHello.jar拷贝到Tomcat中已经部署的Axis2应用的WEB-INF/services目录下面。 B.重新启动Tomcat。 C.打开浏览器,输入http://127.0.0.1:8080/axis2,并点击其中的“services”链接可以看到SayHello已经被部署。点击SayHello提供的连接可以看到与之对应的WSDL。 2.7调用测试
public void testSayHello() throws java.lang.Exception {
String url="http://localhost:8080/axis2/services/SayHello";
org.example.www.sayhello.SayHelloStub stub = new org.example.www.sayhello.SayHelloStub(url); org.example.www.sayhello.SayHelloStub.SayHello request = (org.example.www.sayhello.SayHelloStub.SayHello) getTestObject(org.example.www.sayhello.SayHelloStub.SayHello.class); request.setIn("Teamlet"); System.out.println(stub.SayHello(request).getOut()); assertNotNull(stub.SayHello(request)); } 从菜单中选择“Run->Run as->JUnit Test 完成测试! |