1. 程式人生 > >Axis2釋出webservice示例(使用eclipse)

Axis2釋出webservice示例(使用eclipse)

環境:Servlet2.5標準、Axis2-1.6.2、java1.7

設定axis框架:


服務類:

package yizhi.service;

public class Hellowworld {
	public String hellow(String name){
		return "Hellow world :"+name;
	}
}

新建WebService:



瀏覽器開啟http://localhost:8080/luling/services/Hellowworld?wsdl。顯示xml程式碼示為釋出成功

完成後可建WebService Client 得到stub類,用於方便呼叫


將其放置於yizhi.service_stub包下


在瀏覽器下測試Service是否呼叫成功


程式碼的呼叫:

package yizhi.service_test;

import java.rmi.RemoteException;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

import yizhi.service_stub.HellowworldStub;

public class Axis2Client {

	public static void main(String[] args) throws RemoteException {
		useCode();
	}
	public static void useStub() throws RemoteException{
		HellowworldStub stub = new HellowworldStub();
		HellowworldStub.Hellow method = new HellowworldStub.Hellow();
		method.setName("liu");
		System.out.println(stub.hellow(method).get_return());//輸出:Hellow world :liu
	}
	public static void useCode() throws AxisFault{
		//地址
		RPCServiceClient serviceClient = new RPCServiceClient();  
		Options options = serviceClient.getOptions();  
		EndpointReference targetEPR = new EndpointReference("http://localhost:8080/luling/services/Hellowworld");  
		options.setTo(targetEPR);
		//呼叫
		Object[] opArgs = new Object[] { "劉zhi" };
		QName opQName = new QName("http://service.yizhi", "hellow");
		Class<?>[] opReturnType = new Class[] { String.class };  
		System.out.println(serviceClient.invokeBlocking(opQName, opArgs,opReturnType)[0]);
	}
}