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