一、环境准备
1.1软件下载准备
Tomcat 5.5下载地址:
http://tomcat.apache.org/download-55.cgi#5.5.20
Axis War包:
http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war
Axis Eclipse plug-in(代码生成工具和打包工具):
http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip
http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard. zip
Eclipse 3.2:
http://www.eclipse.org/
MyEclipse5.5M1 :
http://www.myeclipseide.com/
1.2安装
A.首先搭 建开发环境,将下载的 Eclipse 解压缩到一个目录,D:eclipse-SDK-3.2-win32。
B.将下载到的 Axis 的 两个 plug-in解压缩到D: Axis-Plugin-Direclipseplugins目录下 。
C.在eclipse目录下创建D:eclipse-SDK-3.2-win32eclipselinks,新建文件名为:axis-eclipse- plugin.link
内容为:
path=D:Axis-Plugin-Dir
D.安装 MyEclipse5.5M1, 将eclipse目录指向D:eclipse-SDK-3.2-win32,删除D:eclipse-SDK-3.2- win32eclipseconfiguration下的org.eclipse.update目录。然后启动 MyEclipse, 选择“ File->New->Other”可 以看到如下的两个界面 。
1、Axis2 plugins
2、Web Servieces plugins
E.下面开始搭建Web Services的部署环境。
将下载的tomcat5.5解压缩到一个目录D:Tomcat5.5。
F.将axis2.war包拷贝到tomcat安装目录下的webapps目录。
G.启动Tomcat(D:Tomcat5.5binstartup.bat),打开浏览器输入并访 问:http://127.0.0.1:8080/axis2 来查看,结果如下图,表示axis2已经工作正常。
二、快速开始
2.1创建webApps项目
启动 MyEclipse,新建立一个 WebApps( File->New->Project->Web Project) ,给 Project Name 为 SayHello ,其 他保持不改变。
2.2创建WSDL文件
A.选择File->New-Other菜单,进入后找到 MyEclipse->Web Services并选择 WSDL.如下图:
B.点击下一步按钮,显示如下图:
C.选择“ src”目录作为“ Enter or select the parent folder”的值,“ File name”值给定为 SayHello.wsdl。
D.下一步》所有界面内容取默认值,Finish!
E.显示 WSDL设计器的界面如下:
F.修改图中标红色的部分:
修改图中的NewOperation为SayHello;
修改input中parameters为SayHelloRequest;
修改output中parameters为SayHelloResponse;
修改完后如下图:
红色框内为变化的内容,WSDL文件修改完毕。
2.3从 WSDL生成 Java代码
A.选择菜单“ File->New->Other”,从对话框中选取“ Axis2 Wizards”下面的“ Axis2 Code Generator”.点击“ Next”
B.进入下一个页面,保持“ Generate java source code from WSDL file”被选中,点击“ Next”进入下一步。
C.点击“ Browse”来选取存放在 src目录下的 SayHello.wsdl文件,“ Next” 进入下一步。
D.首先生成客户端代码和测试代码,设置如下:
E.下一步后,选择 SayHellosrc目录,如下图:
Finish !
F.重复从A到C的步 骤,然后生成服务端代码,设置如下:
后面同E。
G.结束后,刷新项 目,如图:
这是由于没有将Axis2的 jar包放入 class path 中以及源代码的 package不为 org.example.www.sayhello引起的。
H.修改包名为org.example.www.sayhello并从tomcat中的 axis2 web应用 WEB-INF/lib目录中加载所有 jar包到项目的classpath中。
I.在SayHelloTest.java 中引入 junit包。
2.4 编写业 务代码
打开 SayHelloSKeleton.java文件其中的方法如下:
{
// Todo fill this with the necessary business logic
throw new java.lang.UnsupportedOperationException();
}
修改为:
{
try {
}
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 调用测试
A.修改 SayHelloTest.java文 件中的方法 testSayHello 的内容为:
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 完成测试!