技術回顧系列 如何進行Soap訊息的擴充套件

2021-09-05 15:47:11 字數 1082 閱讀 7747

為了增強

webserive

的功能,對

soap

進行擴充套件是非常必要的。如對

soap

訊息進行加密,解密等操作。使得開發人員可以靈活的對

soap

訊息進行定製處理。

那為了對soap進行擴充套件,我們需要了解什麼?

1:理解web服務的生命週期

2:確認soap擴充套件的的時間段

3:需要重新幾個方法

4:如何對soap訊息進行配置

對於理解web服務的生命週期

可以這樣簡單的理解:

對於soap擴充套件的的時間段

可以是在序列化之前和之後來修改soap訊息以達到擴充套件的目的。比如我們可以實現這樣的擴充套件:加密soap擴充套件在asp。net序列化客戶端的引數之後加密soap訊息,而在asp。net反序列化soap訊息之前在web伺服器上解密soap訊息。對於時間段的選擇可以通過乙個列舉物件來控制:soapmessagestage(afterdeserialize,afterserialize,beforedeserialize,beforeserialize)根據具體情況可以任意選擇在什麼階段進行擴充套件操作。

ps:soap擴充套件必須是客戶端和伺服器端同時進行修改。不能出現如我在客戶端對soap訊息進行加密,在服務端卻不解密。這樣是不行的。

擴充套件soap的整個實現過程概述

a:從soapextension派生乙個類出來,這個是擴充套件的第一步;

b:重寫基類的幾個方法。有的是必須重寫的(如chinstream,這個是接受對流的   引用的唯一機會,而流可以用來獲得將來soap訊息的內容)

c:選在擴充套件階段,就是時間段

d:對soap進行配置

對上面幾項的補充說明:

重寫的幾個方法分別是:其使用方法見msdn:

chinstream,getinitializer,initialize,processmessage

對soap擴充套件進行配置的兩種方式是:配置檔案,自定義特性

產品環境中使用配置檔案的方式交多點。

如何進行技術選型

在重大產品決策或者大規模應用開發前一般需要進行技術選型,特別是需要開發乙個之前沒有了解過的系統或者應用時,其目的是為了降低產品研發的技術風險。所以首先需要明確為什麼需要技術選型 需要達到什麼目的,整個過程需要有一套的組織流程來保證。一般可以將整個過程分為調研 候選對比 關鍵技術驗證 原型驗證幾個階段...

如何進行團隊技術分享

最近一段時間一直在思考如何將技術分享和內部培訓利用起來,幫忙團隊小夥伴們盡快提公升工作中需要的技術。突然想到其實一次精心準備的技術分享,也算是乙個小小的專案了。作為乙個專案,當然也要經過啟動 計畫 執行 監控和收尾的過程,只不過在這五大過程組之中,根據實際需要具體過程會有所刪減。想要中獎,至少要先買...

如何進行架構技術方案選型

在架構設計時,通常面臨的乙個難題是,如何選擇架構的技術方案.這也是各種專案都會碰到的問題.我們到底是選擇c s,b s模式,如果選擇c s,那麼到底是三層c s還是兩層,到底要不要分布式,b s的展示層是自己寫mvc,還是應用已有的開源的如spring mvc,struts 2.0,jsf技術。總之...