Eclipse3[1].2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5_开发Web_Services

在网上看到的由 -- 呼必斯哈拉图 -- 写的 "Apache AXIS 开发 Web Services Step By Step", 跟着做了一遍。
非常感谢呼必斯哈拉图,写得非常的详细,图文并茂。
但是,我的环境和他文中的不太一样,所以根据自己的环境重写如下。
一、环境准备
1.1 软件下载准备
Tomcat 5.5 下载地址:
http://tomcat.apache.org/download-55.cgi#5.5.20 <http://tomcat.apache.org/download-55.cgi>
Axis War 包:
<http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war> <http://ftp.wayne.edu/apache/ws/axis2/1_0/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 <http://apache.justdn.org/ws/axis2/tools/1_0/Axis2_Service_Archiver.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
<IMG>

2 Web Servieces plugins
<IMG>
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 已经工作正常。
<IMG>
二、快速开始
2.1 创建 webApps 项目

启动
MyEclipse ,新建立一个 WebApps File->New->Project->Web Project , Project Name SayHello ,其他保持不改变。

2.2 创建 WSDL 文件

A. 选择 File->New-Other 菜单,进入后找到 MyEclipse->Web Services 并选择 WSDL. 如下图:
<IMG>
B. 点击下一步按钮,显示如下图:
<IMG>
C. 选择" src '目录作为" Enter or select the parent folder '的值," File name '值给定为 SayHello.wsdl
D. 下一步》所有界面内容取默认值, Finish
E. 显示 WSDL 设计器的界面如下:
<IMG>
F. 修改图中标红色的部分:
修改图中的
NewOperation SayHello;
修改 input parameters SayHelloRequest;
修改 output parameters SayHelloResponse;
修改完后如下图:
<IMG>
红色框内为变化的内容,
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. 首先生成客户端代码和测试代码,设置如下:
<IMG>
E. 下一步后,选择 SayHellosrc 目录,如下图:
<IMG>
Finish !
F. 重复从 A C 的步骤,然后生成服务端代码,设置如下:
<IMG>

后面同
E
G. 结束后,刷新项目,如图:
<IMG>
这是由于没有将
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 文件其中的方法如下:
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 调用测试
A. 修改 SayHelloTest.java 文件中的方法 testSayHello 的内容为:
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.
SayHelloRequest request = (org.example.www.sayhello.SayHelloStub. SayHelloRequest ) getTestObject(org.example.www.sayhello.SayHelloStub. SayHelloRequest .class);
request.setIn("Teamlet");
System.out.println(stub.SayHello(request).getOut());
assertNotNull(stub.SayHello(request));
}
从菜单中选择" Run >Run as->JUnit Test 完成测试!
 
 
 

你可能感兴趣的:(apache,eclipse,tomcat,Web,MyEclipse)