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
 

选择Administration 


用户名 admin 密码 axis2



 

下面介绍下上面常用的功能

Upload Service当然是上传aar的文件,完成发布WebService的工具了

Available Service是查看当前发布的Service详细信息

Available Service GroupsService

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());
	}
}



 

成功!!
 
 

猜你喜欢

转载自hetaoo.iteye.com/blog/2295888