利用AXIS2传递JSON数据
Axis2是目前比较流行的WebService引擎。WebService被应用在很多不同的场景。例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用。这样可以有效地集成多种不同的技术来完成应用系统。WebService还经常被使用在SOA中,用于 SOA各个部分交换数据。本文重点在于如何使用AXIS2引擎实现传递JSON数据。
博主本人由于项目需要,所以就查找了关于Web Service的文章。但碍于博主对Web的不熟,所以很多也就是按照网上教程做的。或许有许多地方不对。还请各位海涵了。
首先按照《axis2之webservice新手超详细教程》这篇文档搭建了AXIS2的开发环境。接着我想让服务器传递JSON的数据,然后就又查找了如下的两篇资料:《JSON web service with Java and Axis2》和《Building a JSON web service with Java and Axis2》
这两篇资料是老外写的,内容差不多,但是不够详细,没有对具体操作进行说明。下面一个是国人写的《Axis2与Android的Json(Gson)通信传数据》,这篇文档的方法也是按照上述两篇的文章的方法做的,具体就交代了每一步的操作。本文就在此基础上,将每步阐述如下,并且会将各部分的资料上传到百度云盘,方便各位下载。
第一步:按照1的方法,按部就班的安装 AXIS2。所需要下载的axis.war包和eclipse的两个插件都会放在百度云盘里。
下载地址:http://pan.baidu.com/s/13ThAk
第二步:下载DynamicResponseHandler(wso2dynamic-response-1.5.mar)模块,复制到webservice项目中的WEB-INF/modules中,将wso2dynamic-response-1.5.mar加到modules.list文件中。
下载地址:http://pan.baidu.com/s/1gm56z
第三步:下载Jettison 1.2和jettison-1.2-patched.jar,放入WEB-INF/lib中的模块,删除jettison-1.0-RC2.jar。
下载地址:都在第二步下载的包中。
第四步:找到tomcat\webapps\axis2\WEB-INF\conf\axis2.xml文件,添加xml
<module ref="DynamicResponseHandler"/>
第五步:在axis2.xml添加JSON消息格式,一定要是<messageFormatters>标签里,原来有这个标签的则在原来的标签里加,如果原来没有这个标签则才新加:
<messageFormatters>
<messageFormattercontentType="application/json"class="org.apache.axis2.json.JSONMessageFormatter"/>
<messageFormattercontentType="application/json/badgerfish"class="org.apache.axis2.json.JSONBadgerfishMessageFormatter"/>
</messageFormatters>
第六步:在axis2.xml添加JSON消息编译,一定要是<messageBuilders>标签里,原来有这个标签的则在原来的标签里加,如果原来没有这个标签则才新加:
<messageBuilders>
<messageBuildercontentType="application/json"class="org.apache.axis2.json.JSONOMBuilder"/>
<messageBuildercontentType="application/json/badgerfish"class="org.apache.axis2.json.JSONBadgerfishOMBuilder"/>
</messageBuilders>
执行完以上步骤后,打开Tomcat服务器,在浏览器中输入测试url:http://localhost:8080/axis2/services/Version/getVersion?response=application/json
浏览器将返回如下的内容:返回的值为:
{"return":"Hi - the Axis2version is 1.6.2"}
这样就完成了AXIS2的 JSON 传值配置。
利用AXIS2传递JSON数据的更多相关文章
- MVC中利用ViewBag传递Json数据时的前端处理方法
用viewBag传递Json字符串到前端时,json字符串中的“会被转义为& quot,前端处理方法为@Html.Raw(Json.Encode(ViewBag.Data)),再用eval() ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- Struts2.5 利用Ajax将json数据传值到JSP
AJAX +JSON=>JSP AJAX AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着 ...
- Ajax传递json数据简介和一个需要注意的小问题
Ajax传递json数据 Ajax操作与json数据格式在实际中的运用十分广泛,本文为大家介绍一个两者相结合的小案例: 项目结构 我们新建一个Django项目,在里面创建一个名为app01的应用: p ...
- boke例子: freermarker:在使用ajax传递json数据的时候多出冒号
boke例子: freermarker:在使用ajax传递json数据的时候多出冒号 json数据是用JSON.stringify()格式化的数据,然后用ajax传递,发现数据多出一个冒号:, 后来度 ...
- 用easyui从servlet传递json数据到前端页面的两种方法
用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 p ...
- SpringMVC传递JSON数据
文章目录 一.前后端传递和接收JSON数据 1:是要Ajax默认格式来传递数据(*) 2:使用application/json格式来传递数据 二.spring-web.xml中需要如下配置 一.前后端 ...
- Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...
- URL中传递JSON数据
有关于JSON如何在前后之间进行传递,转换成对象等操作,请查看 C#Json数据交互 (这篇文章主要介绍了如何转化Json格式的数据,以及如何使用) 我们在URL中传递数据一般都是 XX.asp ...
随机推荐
- 第八节:web爬虫之urllib(四)
第三个 模块parse : 是一个工具模块,提供了许多 URL 处理方法,比如拆分.解析.合并等等的方法.
- 【Codeforces 924C】Riverside Curio
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 设第i天总共的线数为t[i] 水平线上线数为m[i]是固定的 水平线下的线数设为d[i] 则d[i]+m[i]+1=t[i] 也就是说问题可以 ...
- hdu 2545 并查集 树上战争
#include<stdio.h> #include<string.h> #define N 110000 struct node { int father,count ...
- Linux下汇编语言学习笔记71 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- 我不喜欢的 Rust 特性 (之一) eager drop
struct Foo; impl Drop for Foo { fn drop(&mut self) { println!("drop"); } } fn main() { ...
- Oracle 11.2.0.4.0安装
http://opensgalaxy.com/2015/08/25/oracle11-2-0-4-0%E5%AE%89%E8%A3%85%E5%8F%8A%E8%A1%A5%E4%B8%81%E8%8 ...
- kendo grid 点击更新没有反映
因为没有在dataSource上写schema schema: { model: { id: "DeptId", fields: { CompanyId: { editable: ...
- codevs——1979 第K个数
1979 第K个数 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 给定一个长度为N(0<n<=10 ...
- Ubuntu 16.04开机进入命令行(tty1)+分辨率调节+字体颜色设置+中文乱码解决(解决虚拟终端Ctrl+Alt+F1分辨率太大)
一.开机进入命令行模式(tty1) sudo vim /etc/default/grub 把GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”改成GRUB_CMDLIN ...
- systemtap --diskio
http://blog.163.com/digoal@126/blog/static/1638770402013101993142404