Kagula
2011-11-9
Apache Axis2(Java)的安装和使用。这里假设你已经正确安装JDK和Eclipse。本文内容不包括ApacheAxis2客户端的编写。
学习环境
[1]JDK 1.6.x
[2]EclipseIndigo
[3]ANT 1.8.2
[4] axis2-1.5.6
[5]WinXP SP3
[6]Tomcat5.5
Axis2的介绍参考资料[2]
在参考网站[1]、[3]中下载axis2-1.5.6-bin.zip 和apache-ant-1.8.2-bin.zip并解压缩。
设置环境变量为(=符号后面跟的是安装和解压缩路径,你也可以指定其它路径)
JAVA_HOME= D:\Java\jdk1.6.0_27
ANT_HOME=D:\apache\apache-ant-1.8.2
AXIS2_HOME= D:\apache\ axis2-1.5.6
运行下面的命令启动Axis2服务端
%AXIS2_HOME%\bin\axis2server.bat
访问http://localhost:8080/axis2/services/
验证运行环境是否安装成功
修改AXIS2_HOME/conf/axis2.xml文件,可以改变默认侦听端口。
启动Axis2时加上-xdebug参数,可以通过8000端口调试WS服务。
从参考网站[1]中下载axis2-eclipse-codegen-plugin-1.5.6.zip和axis2-eclipse-service-plugin-1.5.6.zip文件,参考资料[4]安装,此步骤本文可选。
Serviceplugin功能:[1]把项目打包成“aar”、“jar”[2]把项目部署到Axis2服务器
Codegen功能:WSDL和Java之间的互相转换。
方法一:手动部署
第一步:新建Java project,添加class源码如下
package com.cwebs; public class Hello { publicString sayHello(String user) { return"Hello, " + user; } }
新建services.xml文件,配置要暴露的class,内容如下
<service name="HelloWorld"> <description>Web Service例子</description> <parameter name="ServiceClass">com.cwebs.Hello</parameter> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> </messageReceivers> </service>
D:\ws\com\cwebs\Hello.class
D:\ws\META-INF\services.xml
在命令行方式下进入D:\ws文件夹,输入“jar cvf ws.aar .”命令,注意不要忘记“.”符号,在当前目录下生成ws.aar文件复制到D:\apache\axis2-1.5.6\repository\services目录下即可。
第三步在Eclipse里可以简单实现,右键单击项目名称[Export]->[Java]->[JARfile] 输入Hello.aar文件名,就会导出到指定目录的Hello.aar文件中去,注意一定要选择src目录,这样才能导出相应的class文件。
同名aar文件存在的,在更新后,可能需要重启Axis2才能看到变化,否则还是显示老错误信息。
具体参考资料[5]
可以使用下面的URL测试
http://localhost:8080/axis2/services/HelloWorld/sayHello?user=abc
"HelloWorld"是Services.xml里service标签的name属性
"sayHello"是方法名
"user"是参数名
服务端管理
Axis2独立版进不了管理界面,下载安装了Tomcat5.5和Axis2的war包,把Axis2的war包部署到tomcat里,使用下面的地址就可以进入Axis2管理页面。
http://localhost:8080/axis2/axis2-admin
在D:\apache\apache-tomcat-5.5.34\webapps\axis2\WEB-INF\conf\axis2.xml里可以修改用户名密码,默认用户名和密码分别是admin和axis2。
略
[1]Axis官网
Axis.apache.org
[2]Axis2介绍
http://baike.baidu.com/view/2435061.htm
[3]Ant官网
http://ant.apache.org/
[4]Axis2 Eclipse插件安装
http://axis.apache.org/axis2/java/core/tools/eclipse/plugin-installation.html
[5]《WebService大讲堂之Axis2(3):使用services.xml文件发布WebService》
http://www.pin5i.com/showtopic-23495.html
[6]《JSON Support in Axis2》
http://axis.apache.org/axis2/java/core/docs/json_support.html
Message Transmission Optimized Mechanism(MTOM)