日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XFire 应用

發布時間:2025/7/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XFire 应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
介紹:面向服務架構(SOA,Services-oriented architecture)和Web Services已經變成了當前行業的熱點話題。XFire正是在這種情況下產生的。它能夠使POJO發布為最少的Web Services,而只需要付出最小化的努力。從而,它使希望使用這項技術的初級開發者的學習曲線變得平緩。同時,由于它兼容最新標準和提供了豐富的API,XFire為高級用戶提供了更多的大好機會。步驟清單: 1、 檢查Java類的方法和默認構造函數確保為public

  2、 增加XFire servlet相關條目到web.xml中

  3、 創建services.xml,把它放到WEB-INF/classes/META-INF/xfire目錄下

  4、 增加XFire和第三方包到你的Web應用的WEB-INF/lib文件夾中

實際例子: 0. 定義 web.xml<servlet><servlet-name>XFireServlet</servlet-name><display-name>XFire Servlet</display-name><servlet-class>org.codehaus.xfire.transport.http.XfireConfigurableServlet</servlet-class></servlet><servlet-mapping><servlet-name>XFireServlet</servlet-name><url-pattern>/servlet/XFireServlet/*</url-pattern></servlet-mapping> <servlet-mapping><servlet-name>XFireServlet</servlet-name><url-pattern>/services/*</url-pattern></servlet-mapping>
  • 定義接口
  • public interface IBankingService { public String transferFunds(String fromAccount, String toAccount, double amount, String currency);}

    2.定義實現

    import java.text.NumberFormat; import java.text.DecimalFormat;/** XFire WebServices sample implementation class. */ public class BankingService implements IBankingService {//Default constructor.public BankingService(){ }/** Transfers fund from one account to another.*/public String transferFunds(String fromAccount, String toAccount, double amount, String currency){String statusMessage = "";//Call business objects and other components to get the job done.//Then create a status message and return.try {NumberFormat formatter = new DecimalFormat("###,###,###,###.00"); statusMessage = "COMPLETED: " + currency + " " + formatter.format(amount)+ " was successfully transferred from A/C# " + fromAccount + " to A/C# " + toAccount;} catch (Exception e){statusMessage = "BankingService.transferFunds(): EXCEPTION: " + e.toString();}return statusMessage;}}

    3 定義 web 描述

    <beans xmlns="http://xfire.codehaus.org/config/1.0"><service><name>Banking</name><namespace>mybank</namespace><serviceClass>com.mybank.xfire.example.IBankingService</serviceClass><implementationClass>com.mybank.xfire.example.BankingService</implementationClass></service> </beans>

    4.部署獲得WSDL

    WSDL的URL應該是:http://localhost:8080/websvc/services/Banking?wsdl。

    5, 開發客戶端

    //Create a metadata of the service Service serviceModel = new ObjectServiceFactory().create(IBankingService.class); log.debug("callSoapServiceLocal(): got service model." );//Create a proxy for the deployed serviceXFire xfire = XFireFactory.newInstance().getXFire();XFireProxyFactory factory = new XFireProxyFactory(xfire); String serviceUrl = "http://localhost:8080/websvc/services/Banking";IBankingService client = null;try {client = (IBankingService) factory.create(serviceModel, serviceUrl);} catch (MalformedURLException e) {log.error("WsClient.callWebService(): EXCEPTION: " + e.toString());} //Invoke the serviceString serviceResponse = "";try { serviceResponse = client.transferFunds(fromAccount, toAccount, amount, currency);} catch (Exception e){log.error("WsClient.callWebService(): EXCEPTION: " + e.toString()); serviceResponse = e.toString();}

    本文轉自BlogJava 新浪blog的博客,原文鏈接:XFire 應用,如需轉載請自行聯系原博主。

    總結

    以上是生活随笔為你收集整理的XFire 应用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。