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 }


浙公网安备 33010602011771号