WebService(axis2),整合springmvc

webservice:不同组织或者部门之间互通数据
https://www.cnblogs.com/buggou/p/8183738.html
复制代码
  1 package com.sh.test;
  2 
  3 
  4 import javax.servlet.http.HttpServletRequest;
  5 import javax.servlet.http.HttpServletResponse;
  6 import javax.xml.namespace.QName;
  7 
  8 import org.apache.axiom.om.OMElement;  
  9 import org.apache.axis2.AxisFault;  
 10 import org.apache.axis2.addressing.EndpointReference;  
 11 import org.apache.axis2.client.Options;  
 12 import org.apache.axis2.rpc.client.RPCServiceClient; 
 13 import org.springframework.stereotype.Controller;
 14 import org.springframework.web.bind.annotation.RequestMapping;
 15 import org.springframework.web.bind.annotation.RequestMethod;
 16 
 17 /**
 18  * WebSerivce 客户端
 19  * @author Administrator
 20  *
 21  */
 22 @Controller
 23 public class WsClient {
 24     
 25     @RequestMapping(value="/wsclient",method=RequestMethod.GET)
 26     public  void Wstest(HttpServletRequest request, HttpServletResponse response){
 27         String url = "http://192.168.1.168:8080/axis2demo/services/TestWSService?wsdl";//TestWSService这个就是services.xml中第三行的
 28         try {  
 29             // 使用RPC方式调用WebService  
 30             RPCServiceClient serviceClient = new RPCServiceClient();  
 31             // 指定调用WebService的URL  
 32             EndpointReference targetEPR = new EndpointReference(url);  
 33             Options options = serviceClient.getOptions();  
 34             // 确定目标服务地址  
 35             options.setTo(targetEPR);  
 36             // 确定调用方法  
 37             options.setAction("urn:jiafa");  
 38             options.setTimeOutInMilliSeconds(60000L);//超时时间  毫秒
 39             //第一个参数:包名倒过来,第二个参数:调用的方法
 40             QName qname = new QName("http://test.sh.com","jiafa");  
 41             // 指定jiafa方法的参数值  
 42             Object[] parameters = new Object[] {9,9};  
 43             // 调用方法一 传递参数,调用服务,获取服务返回结果集  
 44             OMElement element = serviceClient.invokeBlocking(qname, parameters);  
 45             // 值得注意的是,返回结果就是一段由OMElement对象封装的xml字符串。  
 46             String result = element.getFirstElement().getText();  
 47             System.out.println(result);  
 48         } catch (AxisFault e) {  
 49             e.printStackTrace();  
 50         }  
 51     }
 52     @RequestMapping(value="/wsclientjianfa",method=RequestMethod.GET)
 53     public  void Wstest1(HttpServletRequest request, HttpServletResponse response){
 54         String url = "http://192.168.1.168/axis2demo/services/TestWSService?wsdl";//TestWSService这个就是services.xml中第三行的
 55         try {  
 56             // 使用RPC方式调用WebService  
 57             RPCServiceClient serviceClient = new RPCServiceClient();  
 58             // 指定调用WebService的URL  
 59             EndpointReference targetEPR = new EndpointReference(url);  
 60             Options options = serviceClient.getOptions();  
 61             // 确定目标服务地址  
 62             options.setTo(targetEPR);  
 63             // 确定调用方法  
 64             options.setAction("urn:jianfa");  
 65             options.setTimeOutInMilliSeconds(60000L);//超时时间  毫秒
 66             //第一个参数:包名倒过来,第二个参数:调用的方法
 67             QName qname = new QName("http://test.sh.com","jianfa");  
 68             // 指定jiafa方法的参数值  
 69             Object[] parameters = new Object[] {9,9};  
 70             // 调用方法一 传递参数,调用服务,获取服务返回结果集  
 71             OMElement element = serviceClient.invokeBlocking(qname, parameters);  
 72             // 值得注意的是,返回结果就是一段由OMElement对象封装的xml字符串。  
 73             String result = element.getFirstElement().getText();  
 74             System.out.println(result);  
 75         } catch (AxisFault e) {  
 76             e.printStackTrace();  
 77         }  
 78     }
 79     @RequestMapping(value="/wsclientchengfa",method=RequestMethod.GET)
 80     public  void Wstest2(HttpServletRequest request, HttpServletResponse response){
 81         String url = "http://192.168.1.168/axis2demo/services/TestWSService1?wsdl";//TestWSService这个就是services.xml中第三行的
 82         try {  
 83             // 使用RPC方式调用WebService  
 84             RPCServiceClient serviceClient = new RPCServiceClient();  
 85             // 指定调用WebService的URL  
 86             EndpointReference targetEPR = new EndpointReference(url);  
 87             Options options = serviceClient.getOptions();  
 88             // 确定目标服务地址  
 89             options.setTo(targetEPR);  
 90             // 确定调用方法  
 91             options.setAction("urn:chengfa");  
 92             options.setTimeOutInMilliSeconds(60000L);//超时时间  毫秒
 93             //第一个参数:包名倒过来,第二个参数:调用的方法
 94             QName qname = new QName("http://test.sh.com","chengfa");  
 95             // 指定jiafa方法的参数值  
 96             Object[] parameters = new Object[] {9,9};  
 97             // 调用方法一 传递参数,调用服务,获取服务返回结果集  
 98             OMElement element = serviceClient.invokeBlocking(qname, parameters);  
 99             // 值得注意的是,返回结果就是一段由OMElement对象封装的xml字符串。  
100             String result = element.getFirstElement().getText();  
101             System.out.println(result);  
102         } catch (AxisFault e) {  
103             e.printStackTrace();  
104         }  
105     }
106 
107     
108 
109 }
复制代码
原文地址:https://www.cnblogs.com/keyi/p/10970013.html