一. 安装Eclipse 详细见《Web Service Eclipse安装》文档,将在近期更新
二. 安装Apache Axis2详细见《Apache Axis2安装》 http://bldmickey.blog.sohu.com/56486087.html
三. 开发环境描述软件
| 版本
| Eclipse SDK Version
| 3.3.0
| STP(SOA Tools Platform)
| 0.6.0
| WST(Web Standard Tools)
| 2.0.0
| DTP(Data Tools Platform)
| 1.5.0
| JST(J2EE Standard Tools)
| 2.0.0
| Apache Axis2
| 1.3
| Apache Tomcat
| 5.5.20
|
四. 下载Apache Axis2 Tools
- Code Generator Wizard - Eclipse Plug-in 版本1.3
包括Java2WSDL和WSDL2Java。其中Java2WSDL从java class开始创建WSDL文件;WSDL2Java从WSDL文件开始创建java class。下载地址:
http://apache.mirror.phpchina.com/ws/axis2/tools/1_3/axis2-eclipse-codegen-wizard.zip
- Service Archive Wizard - Eclipse Plug-in版本1.3
用来创建web服务的软件包(aar文件或者jar文件)。下载地址:
http://apache.mirror.phpchina.com/ws/axis2/tools/1_3/axis2-eclipse-service-archiver-wizard.zip
五. Apache Axis2 Tools的安装
- 解压下载的文件
- 拷贝解压的内容到eclipse安装目录下的plugins目录下
六. Eclipse+Axis2集成例子6.1 Eclipse Axis2参数设置
- 菜单选择:Window->Preference…->Web Service->Axis2 Preferences
- 设置Axis Runtime Location,也就是Axis2 Runtime安装的位置,例如:C:\Program Files\axis2
6.2 创建Web Project
- 菜单选择:File->New Project…->Web(Dynamic Web Project)选择Next, 在项目名称中输入SayHi
6.3 添加Axis2 Library在项目属性中->Java Build Path->Library中添加一个自定义的Axis2_Library的库,将axis2 web应用WEB-INF/lib目录中所有jar添加到新定义的库中。添加后项目的情况:
6.4 创建WSDL文件
- 菜单选择:File->New Other…->Web Service WSDL->next
- 选中指定路径SayHi/src,指定WSDL的文件名:SayHi.wsdl,选择Next
- Target namespace:修改成http://www.wsexample.org/SayHi,选择Finish
- 在WSDL design的tab中修改WSDL的设计。例如修改:Operation的名称为:SayHiOper,具体有关WSDL的信息请查看《Web Service WSDL.doc》和《Web Service XML.doc》
6.5从WSDL文件生成Java Server代码
- 选择File->New->Other,从对话框中选取Axis2 Wizards->Axis2 Code Generator,选择Next
- 选择“Generate java source code from WSDL file”,点击“Next”进入下一步
- 选择WSDL文件所在的路径:选中SayHi.wsdl文件
- Axis2 Codegen Wizard对话框中选择:(完成后选择Next继续)
- Codegen Option为custom
- Databinding Name为缺省的ADB(还有xmlbeans、jibx)
- 先创建服务器端代码
- 确定java服务器端程序的输出位置,例如:SayHi\(不包括src目录)。生成的代码输出的位置。注意:在程序的目录中,不需要指定到src目录下。
- 项目程序结果:
6.6 修改Service代码在SayHiSkeleton.java程序中添加处理代码(蓝色部分),实现了SayHiOper函数接口,获取web请求“sayHiOper.getIn() ”,然后添加相关问候信息“"Hi," request ".How are you? ”
package org.example.www.sayhi;
public class SayHiSkeleton{
public org.example.http://www.sayhi.sayhioperresponse/ SayHiOper
( org.example.http://www.sayhi.sayhioper/ sayHiOper )
{
try {
SayHiOperResponse response = new SayHiOperResponse();
response.setOut("Hi,"+sayHiOper.getIn()+". How are you?");
return response;
}
catch(UnsupportedOperationException e)
{throw e;}
//throw new java.lang.UnsupportedOperationException("Please implement " + this.getClass().getName() + "#SayHiOper");
}
}
|
6.7 创建发布Package
- 菜单选择:File->New->Other…->Axis2 Wizards中选择Axis2 Service Archive,选择Next
- 选择classes的路径,例如:SayHi\build\classes,选择Next
- 选择WSDL文件,选择Next,在选择Next
- 设置Service XML文件,例如:SayHi\resources\services.xml
- 设置输出的文件和目录,例如tomcat下的部署目录:webapps\axis2\WEB-INF\services,输出文件名:SayHi.aar,直接可以输出到tomcat对应的axis2 services的目录中。
6.8 浏览器测试
- 启动tomcat
- 浏览器器中输入service的WSDL,链接地址:http://localhost:8081/axis2/services/SayHi?wsdl,输出结果如下:
- 测试Web Service,在浏览器中输入:http://localhost:8081/axis2/services/SayHi/SayHiOper?in=bldmickey,输出结果如下:
[table][tr][td] |