package testClick.src.test; import javax.xml.namespace.QName; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; import org.apache.axiom.om.OMNamespace; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.client.ServiceClient; import org.apache.axis2.rpc.client.RPCServiceClient; import org.junit.Test; import testClick.src.testclick.HelloWebService; import testClick.src.testclick.HelloWebServicePortType; public class TestWebservice { @Test public void test(){ //testClient(); //testRPC(); testOMElement(); } /** * 第一种 * MyEclipse 生成客户端方式 */ public void testClient(){ HelloWebService service = new HelloWebService(); HelloWebServicePortType portType = service.getHelloWebServiceHttpSoap11Endpoint(); String result = portType.sayHello("jack"); System.out.println(result); } /** * 第二种 * 使用axis2 RPC调用webservice 需要导入相应的jar包 */ public void testRPC(){ try{ RPCServiceClient client = new RPCServiceClient(); Options options = client.getoptions(); String url = "http://localhost:8080/axis2/services/HelloWebService?wsdl"; EndpointReference end = new EndpointReference(url); options.setTo(end); Object[] obj = new Object[]{"tom"}; Class<?>[] classes = new Class[] { String.class }; QName qname = new QName("http://testClick","sayHello"); String result = (String) client.invokeBlocking(qname,obj,classes)[0]; System.out.println(result); }catch(AxisFault e){ e.printstacktrace(); } } /** * 第三种 * @throws AxisFault */ public void testOMElement(){ try{ ServiceClient sc = new ServiceClient(); Options opts = new Options(); String url = "http://localhost:8080/axis2/services/HelloWebService?wsdl"; EndpointReference end = new EndpointReference(url); opts.setTo(end); opts.setAction("sayHello"); sc.setoptions(opts); OMFactory fac = OMAbstractFactory.getoMFactory(); OMNamespace omNs = fac.createOMNamespace("http://testClick",""); OMElement method = fac.createOMElement("sayHello",omNs); OMElement value = fac.createOMElement("name",omNs); value.setText("admin"); method.addChild(value); OMElement res = sc.sendReceive(method); res.getFirstElement().getText(); System.out.println(res.getFirstElement().getText()); }catch(AxisFault e){ e.printstacktrace(); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。