要使用JiBX數據綁定生成和部署服務,請執行如下步驟。html
經過在Axis2_HOME / samples / quickstartjibx目錄中的控制檯上鍵入如下內容,使用WSDL2Java實用程序生成框架java
%AXIS2_HOME%\bin\wsdl2java.bat -uri resources\META-INF\StockQuoteService.wsdl -p samples.quickstart.service.jibx -d jibx -s -ss -sd -ssi -uw -o build\service
不然,只需在Axis2_HOME / samples / quickstartjibx目錄中鍵入「ant generate.service」便可。web
選項-d jibx指定JiBX數據綁定。-s開關僅指定同步或阻塞調用。-ss開關建立服務器端代碼(框架和相關文件)。-sd開關建立服務描述符(services.xml文件)。-ssi開關爲服務框架建立一個接口。-uw開關打開傳入和傳出服務操做的參數,以建立更天然的編程接口。apache
運行WSDL2Java後,服務文件應位於build / service。若是直接使用WSDL2Java生成代碼,則須要修改生成的框架以實現服務(若是使用「ant generate.service」,則完成的框架將自動複製到生成的框架上)。打開build / service / src / samples / quickstart / service / jibx / StockQuoteServiceSkeleton.java文件並對其進行修改,以將服務的功能添加到生成的方法中,如代碼清單8所示。編程
代碼8:定義服務框架文件服務器
package samples.quickstart.service.jibx; import java.util.HashMap; public class StockQuoteServiceSkeleton implements StockQuoteServiceSkeletonInterface { private HashMap map = new HashMap(); public void update(String symbol, Double price) { map.put(symbol, price); } public Double getPrice(String symbol) { Double ret = (Double) map.get(symbol); if (ret == null) { ret = new Double(42.0); } return ret; } }
如今,您能夠經過在build / service目錄中鍵入如下命令來構建項目:app
ant jar.server
若是一切順利,您應該在窗口中看到BUILD SUCCESSFUL消息,並在build / service / build / lib目錄中看到StockQuoteService.aar文件。將此文件複製到servlet引擎的webapps / axis2 / WEB-INF / services目錄。框架
services.xmlwebapp
<service name="StockQuoteService" scope="application"> <messageReceivers> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="samples.quickstart.service.jibx.StockQuoteServiceMessageReceiverInOut"/> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="samples.quickstart.service.jibx.StockQuoteServiceMessageReceiverInOnly"/> </messageReceivers> <parameter name="ServiceClass">samples.quickstart.service.jibx.StockQuoteServiceSkeleton </parameter> <operation name="update" mep="http://www.w3.org/ns/wsdl/in-only"> <actionMapping>urn:update</actionMapping> </operation> <operation name="getPrice" mep="http://www.w3.org/ns/wsdl/in-out"> <actionMapping>urn:getPrice</actionMapping> <outputActionMapping>http://quickstart.samples/StockQuoteServicePortType/getPriceResponse</outputActionMapping> </operation> </service>
注意,消息接受處理器類變了學習
<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="samples.quickstart.service.jibx.StockQuoteServiceMessageReceiverInOut"/> <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="samples.quickstart.service.jibx.StockQuoteServiceMessageReceiverInOnly"/>
您能夠經過查看服務列表來檢查以確保服務已正確部署,
http://localhost:8080/axis2/services/listServices
您還能夠在如下位置檢查自定義WSDL:
http://localhost:8080/axis2/services/StockQuoteService?wsdl
schema
http://localhost:8080/axis2/services/StockQuoteService?xsd