Eclipse Apache Axis2集成
一. 安装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
[*] 设置Axis2 Preferences
6.2 创建Web Project
[*] 菜单选择:File->New Project…->Web(Dynamic Web Project)选择Next, 在项目名称中输入SayHi
[*] 选择“Finish”完成
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》
[*] 例如:本例中采用的types定义如下:
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 newjava.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,输出结果如下:
页:
[1]