Axis2釋出webservice示例(使用eclipse)
阿新 • • 發佈:2019-01-26
環境: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]); } }