AXIS调用webService服务
2015-12-17 17:12
309 查看
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(); } } }
相关文章推荐
- axis备忘
- 基于JAVA中使用Axis发布/调用Webservice的方法详解
- AXIS v1.4的包依赖
- 使用AXIS生成SOAP Web Service客户端的方法
- 应用 AXIS 开始 Web 服务之旅
- ubuntu下安装 gSOAP 用于C/C++开发web service服务端与客户端
- Linux下用gSOAP开发Web Service服务端和客户端程序(一)
- Linux下用gSOAP开发Web Service服务端和客户端程序(二)
- web service, wcf, web api
- 在AXIS服务间传递JavaBean
- 使用Mule发布Web Service服务
- 使用axis1.4的jar包生成客户端代码命令
- arcengine发布webservice编辑sde
- High scalability - Harvard notes.
- 使用 CXF 做 webservice 简单例子
- Axis1.4 WebService客户端获取数据遇到的一个错误
- java调用SAP PI webservice ,用户名密码认证
- web service与wcf的区别
- java调用C# webservice短信猫发送短信
- axis调用webservice接口