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 閱讀(3307) 評論(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)

          相冊

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 中方县| 建始县| 河北省| 喀喇沁旗| 浠水县| 家居| 安康市| 池州市| 桐梓县| 民县| 旬阳县| 瑞丽市| 关岭| 塘沽区| 武夷山市| 信宜市| 兴山县| 平顶山市| 闻喜县| 澎湖县| 平凉市| 遵义县| 南康市| 马边| 新干县| 晋中市| 佛冈县| 西贡区| 阳东县| 阿图什市| 固始县| 朝阳区| 淄博市| 揭东县| 内江市| 徐水县| 朝阳市| 界首市| 石门县| 肇庆市| 监利县|