Axis2是目前比較流行的WebService引擎。WebService被應用在不少不一樣的場景。例如,能夠使用WebService來發布服務端 Java類的方法,以便使用不一樣的客戶端進行調用。這樣能夠有效地集成多種不一樣的技術來完成應用系統。WebService還常常被使用在SOA中,用於 SOA各個部分交換數據。本文重點在於如何使用AXIS2引擎實現傳遞JSON數據。html
博主本人因爲項目須要,因此就查找了關於Web Service的文章。但礙於博主對Web的不熟,因此不少也就是按照網上教程作的。或許有許多地方不對。還請各位海涵了。java
首先按照《axis2之webservice新手超詳細教程》這篇文檔搭建了AXIS2的開發環境。接着我想讓服務器傳遞JSON的數據,而後就又查找了以下的兩篇資料:《JSON web service with Java and Axis2》和《Building a JSON web service with Java and Axis2》web
這兩篇資料是老外寫的,內容差很少,可是不夠詳細,沒有對具體操做進行說明。下面一個是國人寫的《Axis2與Android的Json(Gson)通訊傳數據》,這篇文檔的方法也是按照上述兩篇的文章的方法作的,具體就交代了每一步的操做。本文就在此基礎上,將每步闡述以下,而且會將各部分的資料上傳到百度雲盤,方便各位下載。apache
第一步:按照1的方法,循序漸進的安裝 AXIS2。所須要下載的axis.war包和eclipse的兩個插件都會放在百度雲盤裏。
下載地址:http://pan.baidu.com/s/13ThAkjson
第二步:下載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
第四步:找到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 傳值配置。