天天看點

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檔案下

Axis2 釋出webservice項目 和 生成用戶端代碼

重新開機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

Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼

 選擇你sevice的class路徑

Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼

如果有相應jar包 就勾選相應jar包

Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼

勾選暴露的方法

Axis2 釋出webservice項目 和 生成用戶端代碼

解壓axis2-1.7.1-war.zip放入你的web容器中,因為項目指定要用Jboss 伺服器 ,是以我放入jboss-as-7.1.1.Final\standalone\deployments路徑下

Axis2 釋出webservice項目 和 生成用戶端代碼

 運作Jboss伺服器

http://localhost:8080/axis2/axis2-web/index.jsp

Axis2 釋出webservice項目 和 生成用戶端代碼

選擇Administration 

Axis2 釋出webservice項目 和 生成用戶端代碼

使用者名 admin 密碼 axis2

Axis2 釋出webservice項目 和 生成用戶端代碼

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

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檔案

Axis2 釋出webservice項目 和 生成用戶端代碼

 Available Service是檢視目前釋出的Service詳細資訊  能看到自己的項目即釋出成功

點選自己的項目名檢視wsdl檔案

Axis2 釋出webservice項目 和 生成用戶端代碼

 3.根據wsdl檔案生成java 用戶端代碼

Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼

4.也可以自己生成wsdl檔案

Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼
Axis2 釋出webservice項目 和 生成用戶端代碼

  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());
	}
}
           
Axis2 釋出webservice項目 和 生成用戶端代碼

成功!!