利用AXIS2傳遞JSON數據

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 Axis2web

這兩篇資料是老外寫的,內容差很少,可是不夠詳細,沒有對具體操做進行說明。下面一個是國人寫的《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消息格式,找到 標籤,在這個標籤裏添加以下代碼段: app

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

第六步:在axis2.xml中添加消息編譯,找到 標籤,添加以下代碼: eclipse

<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 傳值配置。

相關文章
相關標籤/搜索