利用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 ...
随机推荐
- dock helloworld
Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob: ...
- Python基础-获取当前目录,上级目录,上上级目录
import os print '***获取当前目录***' print os.getcwd() print os.path.abspath(os.path.dirname(__file__)) pr ...
- 码云私人代码 SSH 设置----https://blog.csdn.net/kkaazz/article/details/78667573
码云私人代码 SSH 设置 https://blog.csdn.net/kkaazz/article/details/78667573
- 49. spring boot日志升级篇—理论【从零开始学Spring Boot】
我们之前在其中的一篇文章介绍过如何在spring boot中使用日志记录SLF4J. Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如 ...
- 搭建Kafka运行环境-Mac版
停止kafka服务: kafka_2.12-0.10.2.1> bin/kafka-server-stop.sh kafka_2.12-0.10.2.1> bin/zookeeper-se ...
- COJ 1156 Switching bulbs
一道模拟题目 对于所有0 还是 1 我们都可以想象做均为 0 的状态 v[i]表示原来的值 但是对于原来为1的要加上其所在的值作为初始值 然后转化后 a[i] = -v[i] , 如果原来为0 , ...
- HBase shell的常用命令(CRUD)
@来源是传智播客hadoop的视频教程,觉得入门不错,就copy过来了 一.启动HBase: sudo -i cd /home/cx/itcast/hbase-1.2.6/bin ./start- ...
- 24、Java并发性和多线程-信号量
以下内容转自http://ifeve.com/semaphore/: Semaphore(信号量) 是一个线程同步结构,用于在线程间传递信号,以避免出现信号丢失(译者注:下文会具体介绍),或者像锁一样 ...
- centos6.2安装kvm虚拟机
http://www.wenzizone.com/2012/03/06/centos_6-2_install_kvm.html KVM虚拟机简介 kernel-based Virtual Machin ...
- git bash here真牛!
git bash here真牛! 在Windows上面安装了git,在文件夹里面空白处右键点击,选择git bash here: 随手敲了几个命令:ls,ls -a,which ls,who, fin ...