David.Turing's blog

           

          思考Spring攔截技術與Web Service異常處理的結合

          通常,良好的架構都會有很好的異常處理模式,Web Service也不例外。
          例外的是,當你的項目比較龐大的時候,你的業務方法可能很多并且你并不了解他們的內部實現。
          作為一個優秀的Web Service架構師,你需要解決Web服務跟這些業務異常的結合問題。

          現實是我們都不想關心這些業務類的實現,盡管這些異常從Java類拋出,并且Web服務必須處理這些
          異常,起碼,你需要讓客戶端知道:web服務端拋出異常。

          以XFire為例, 假設有一個Web服務A和一個調用A的客戶端B
          A服務端 B客戶端
          當B->A發起一個Web服務請求,A拋出異常的時候,會直接new XFireFault并扔向XFire客戶端。
          解耦思路帶領下,應該先將異常處理剝離出來。
          于是,有
          A服務-A異常處理handler? B客戶端-B異常處理handler
          這樣,從架構的角度,A/B均無需考慮異常問題。

          XFire客戶端可以通過addFaultHandler來增加異常處理,XFire服務端則可以通過典型的AOP異常攔截來隔離
          業務邏輯和Web服務之間的紐帶。

          posted on 2006-08-26 00:24 david.turing 閱讀(3305) 評論(2)  編輯  收藏 所屬分類: SOA/WebService

          評論

          # re: 思考Spring攔截技術與Web Service異常處理的結合 2006-08-28 15:34 david.turing

          我最后的作法是這樣的,通過Spring(throw Adivce)來攔截ABC Excpetion,
          然后再注入到MyABCExcpetionInvocator類
          經過一番拳腳,我在從這個類往外拋出XFireFault,當然,這個Fault被我
          設置了Detail和全局的ErrorCode以及這個Code是從哪個類Throw出等信息。  回復  更多評論   

          # re: 思考Spring攔截技術與Web Service異常處理的結合 2007-03-09 15:24 lodzio

          http://www.granny-porno.irsuto.info @X@   回復  更多評論   

          導航

          統計

          常用鏈接

          留言簿(110)

          我參與的團隊

          隨筆分類(126)

          隨筆檔案(155)

          文章分類(9)

          文章檔案(19)

          相冊

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安庆市| 河池市| 武宣县| 大丰市| 确山县| 枝江市| 昌宁县| 射阳县| 衡阳县| 噶尔县| 白城市| 六安市| 广东省| 綦江县| 上思县| 三亚市| 德令哈市| 苗栗市| 大埔区| 盐源县| 资兴市| 太谷县| 峨边| 济宁市| 多伦县| 札达县| 永和县| 类乌齐县| 驻马店市| 嘉义市| 土默特左旗| 乐亭县| 衡山县| 思南县| 玉门市| 汪清县| 沾益县| 临城县| 高密市| 句容市| 长汀县|