利用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消息格式,找到 标签,在这个标签里添加如下代码段:

    <messageFormatter contentType="application/json"
                   class="org.apache.axis2.json.JSONMessageFormatter"/>
    <messageFormatter contentType="application/json/badgerfish"
                   class="org.apache.axis2.json.JSONBadgerfishMessageFormatter"/>

第六步:在axis2.xml中添加消息编译,找到 标签,添加如下代码:

    <messageBuilder contentType="application/json"
                        class="org.apache.axis2.json.JSONOMBuilder"/>
    <messageBuilder contentType="application/json/badgerfish"                     
                        class="org.apache.axis2.json.JSONBadgerfishOMBuilder"/>

执行完以上步骤后,打开Tomcat服务器,在浏览器中输入测试url: http://localhost:8080/axis2/services/Version/getVersion?response=application/json

浏览器将返回如下的内容:返回的值为:

    {"return":"Hi - the Axis2version is 1.6.2"}

这样就完成了AXIS2的 JSON 传值配置。

    原文作者:Kylin_Mountain
    原文地址: https://segmentfault.com/a/1190000000346631
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞