WebService(axis2),整合springmvc
webservice:不同组织或者部门之间互通数据

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 }

WebService(axis2),整合springmvc的更多相关文章
- CXF WebService整合SpringMVC的maven项目
首先推荐博客:http://www.cnblogs.com/xdp-gacl/p/4259481.html http://blog.csdn.net/hu_shengyang/article/de ...
- webservice axis2客户端设置代理方法(公司网络通过代理访问时)
webservice axis2客户端设置代理方法(公司网络通过代理访问时) UploadProcessInServiceStub stub = new UploadProcessInServic ...
- spring整合springmvc和hibernate
上篇文章使用maven搭建了web环境,这篇来记录下如何使用spring整合springmvc和hibernate,亦即spring+springmvc+hibernate框架整合. 第一步:首先配置 ...
- springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置
前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多 ...
- eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis
接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...
- SpringBoot整合系列-整合SpringMVC
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9984607.html SpringBoot整合Spring MVC 步骤 第一步:添加必 ...
- Shiro 整合SpringMVC 并实现权限管理,登录和注销
Shiro 整合SpringMVC 并且实现权限管理,登录和注销 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring S ...
- 整合SpringMVC框架和Spring框架
-------------------------siwuxie095 整合 SpringMVC 框架和 Spring 框架 ...
- 【AngularJS】AngularJS整合Springmvc、Mybatis环境搭建
近期想学习AngularJS的使用,网上搜了一圈后,折腾了半天解决bug后,成功使用AngularJS整合Springmvc.Spring.Mybatis搭建了一个开发环境.(这里Spring使用的版 ...
- 简述泛型、用Maven创建Web项目以及在Web项目上整合SpringMVC
表设计 Timestamp列是否取消"根据当前时间戳自动更新" 是否null及默认值选择合理不合理 外键命名规范及更新和删除时的动作是否合理 泛型 类型参数 --允许在外部指定 ...
随机推荐
- sql将查询结果的某个字段赋值给另一个字段
Update a set a.NickName=b.name FROM AccountsInfo a, TT b where a.UserID=b.userId 必须要有关联的两个表
- python selectors模块实现 IO多路复用机制的上传下载
import selectorsimport socketimport os,time BASE_DIR = os.path.dirname(os.path.abspath(__file__))''' ...
- 孤陋寡闻了吧?Python 居然可以做这30件神奇好玩的事情(附教程)
知乎上有个浏览超过400万的问题:可以用 Python 编程语言做哪些神奇好玩的事情? 我先举一个很不专业的栗子...... 然后再找几个人抬一堆例子来...... 不是很稀饭<复联>嘛, ...
- Django+bootstrap+注册登录系统
转自:https://www.cnblogs.com/robindong/p/9610057.html Robin_D 博客园 首页 新随笔 联系 订阅 管理 随笔 - 10 文章 - 0 评论 ...
- 用ffserver实现rtsp服务器的实验笔记
参考:https://blog.csdn.net/hoyjam1/article/details/51281679 建议配置文件:/etc/config/ffserver.conf Port 1053 ...
- 【开200数组解决二叉搜索树的建立、遍历】PAT-L3-016. 二叉搜索树的结构——不用链表来搞定二叉搜索树
L3-016. 二叉搜索树的结构 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它 ...
- 专为简化 C 开发而设计的编程语言 Trad
Trad 是一个专为简化 C 开发而设计的编程语言,它: 基于 C: 经编译器编译后能得到干净可读的标准 C 代码,其与 C 的关系就像 TypeScript 与 JavaScript 一样 专为 U ...
- 【CSP模拟赛】God knows (李超线段树)
题面 CODE 稍微分析一下,发现把(i,pi)(i,p_i)(i,pi)看做二维数点,就是求极长上升子序列的权值最小值. 直接李超线段树 #include <bits/stdc++.h> ...
- HDU 6168 - Numbers | 2017 ZJUT Multi-University Training 9
/* HDU 6168 - Numbers [ 思维 ] | 2017 ZJUT Multi-University Training 9 题意: .... 分析: 全放入multiset 从小到大,慢 ...
- 历年NOIP题
做了几天远古老题,发现不可做,于是咕掉..转而从2005开始.. 1997: P1549 棋盘问题(2):搜索,优化搜索顺序,对于第一行第一列先搜小的(但是其实这样是错的,仅仅能过原题) 加强版咕. ...