Axis2 发布webservice项目 和 生成客户端代码
1.前期准备
http://axis.apache.org/axis2/java/core/download.cgi
下载
Binary distribution axis2-1.7.1-bin.zip
WAR distribution axis2-1.7.1-war.zip
Service Archive plugin for Eclipse axis2-eclipse-service-plugin-1.7.1.zip
Code Generator plugin for Eclipse axis2-eclipse-codegen-plugin-1.7.1.zip
解压
Service Archive plugin for Eclipse
Code Generator plugin for Eclipse
将jar包放入eclips的dropins文件下
重启eclipse
2.编写service代码
package com.hetaoo.service; public class CalculateService { /** * 加法运算 * * @param x * 被加数 * @param y * 加数 * @return x与y的和 */ public float plus(float x, float y) { return x + y; } /** * 减法运算 * * @param x * 被减数 * @param y * 减数 * @return x与y之差 */ public float minus(float x, float y) { return x - y; } /** * 乘法运算 * * @param x * 被乘数 * @param y * 乘数 * @return x与y的乘积 */ public float multiply(float x, float y) { return x * y; } /** * 除法运算 * * @param x * 被除数 * @param y * 除数 * @return x与y的商 */ public float divide(float x, float y) { return x / y; } }
利用axis2 发布webservice
选择你sevice的class路径
如果有相应jar包 就勾选相应jar包
勾选暴露的方法
解压axis2-1.7.1-war.zip放入你的web容器中,因为项目指定要用Jboss 服务器 ,所以我放入jboss-as-7.1.1.Final\standalone\deployments路径下
运行Jboss服务器
http://localhost:8080/axis2/axis2-web/index.jsp
用户名 admin 密码 axis2
下面介绍下上面常用的功能
Upload Service当然是上传aar的文件,完成发布WebService的工具了
Available Service是查看当前发布的Service详细信息
Available Service Groups是Service组
Global Chains是可以用的全局的Chain
Operation Specific Chains是某个具体操作的chain
Deactivate Service 是取消某个Service
Activate Service 是将取消发布的Service再发布出去
Edit Parameters是修改WebService类的参数
Upload Service 上传刚才导出的aar文件
Available Service是查看当前发布的Service详细信息 能看到自己的项目即发布成功
点击自己的项目名查看wsdl文件
3.根据wsdl文件生成java 客户端代码
4.也可以自己生成wsdl文件
5.编写客户端测试代码
package com.hetaoo.main; import java.rmi.RemoteException; import com.hetaoo.service.Minus; import com.hetaoo.service.MinusResponse; import com.hetaoo.service.Plus; import com.hetaoo.service.PlusResponse; import com.hetaoo.serviceCode.CalculateServiceStub; public class TestWebService { public static void main(String[] args) throws RemoteException { String target = "http://localhost:8080/axis2/services/CalculateService"; CalculateServiceStub stub = new CalculateServiceStub(target); Plus plus = new Plus(); plus.setX(5); plus.setY(5); Minus minus = new Minus(); minus.setX(5); minus.setY(2); MinusResponse ms = stub.minus(minus); System.out.println(ms.get_return()); PlusResponse ps = stub.plus(plus); System.out.println(ps.get_return()); } }
成功!!