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

猜你喜欢

转载自blog.csdn.net/lylhjh/article/details/51181106