<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      實戰演習-如何用wse實現soap消息路由一

          

      發個廣告:周末有想一起鍛煉身體的兄弟,可與我聯系,最好住在回龍觀或者西三旗附近,大家可以搭伴去打籃球,乒乓球或者游泳。
      本人聯系方式:Msn:jillzhang@126.com qq:183317744

           前面的文章中介紹過wse有路由的功能,它能像路由器一樣,將soap消息動態的路由到指定的目的地,有關wse實現路由的功能描述,請查看:WSE 3.0 文檔翻譯:路由

      下面主要通過項目實例來具體闡述如何實現wse路由和一些項目開發中的細節。本人水平有限,有不對的地方,請朋友們不吝賜教。

      在開始項目之前,先了解一下路由的概念,所謂"路由",是指把數據從一個地方傳送到另一個地方的行為和動作,它通常包括兩種行為:選擇最佳路徑和通過網絡交換數據。我們平時使用的路由器就是為了此項功能而產生的機器。那么wse為何要具備路由的功能呢?這個必須是我們首先要弄明白的問題。

      對SOA不了解或者沒有相關開發和運維經驗的朋友可能體會不出wse為何要有路由功能的理由,從表面看來,完全沒必要嘛!客戶端指定一個服務端,雙方交換數據就可以了!非也,在SOA中,要面對的往往是部門與部門之間,企業與企業之間,機構與機構之間的系統協作問題,此時如果提供服務的一方出現維修問題,會影響到很多客戶端,而這些客戶端可能分布在不同的個人或者機構中,中間一些協調和溝通問題會很快讓你進入hell,而有些客戶端系統對于系統的穩定性要求極高。所以如果服務端不做傷筋動骨的改動,應該盡最大可能保持客戶端的正常運行。Wse的路由功能就是為了解決此類問題的方案之一。一句話它能夠使服務端能夠在對服務進行維護的時候,經過簡單的配置,改變soap消息的原有路由,從而保證客戶端的穩定運行。

      要實現wse的路由功能,有兩種手段:第一是通過配置文件,這個配置文件在wse框架中被稱為referral cache.另外一種是基于soap消息內容來實現。本文首先解決如何通過配置文件來實現wse路由。

      • 通過配置來實現wse路由

      實現wse路由,需要兩個大的步驟:

      1. 準備一臺路由服務器(以后我們稱之為R),并對其進行配置
      2. 配置一個Referral Cache,這個文件定義了soap消息的路由信息

      我們通過以下情景來實現項目演示:目前我們存在一個服務,所在服務器為S1,因為路由對客戶端沒有影響,所以我們只模擬一個客戶端,服務器為C,我們目前的路由情況如下圖所示:

      首先我們看一下使用了路由的網絡服務,路由,和客戶端程序的特點。

      網絡服務:使用了路由的網絡服務必須接受來源于路由服務器R的請求,因此需指定網絡服務的SoapActor Attribute,為路由的URL或者接受所有的來源。有關SoapActor的描述如下:一個SOAP消息從始節點到終節點的過程中,可能沿著消息路徑經過一系列SOAP中間節點。一個SOAP中間節點是一個可以接收轉發SOAP消息的應用程序。中間節點和終節點由URI區分。可能SOAP消息的終節點并不需要所有部分,而在消息路徑上的一個和幾個中間節點可能需要這些內容。頭元素的接收者扮演的角色類似于一個過濾器,防止這些只發給本接受者的消息部分擴散到其它節點。即一個頭元素的接收者必須不轉發這些頭元素到SOAP消息路徑上的下一個應用程序。同樣的,接收者可能插入一個相似的頭元素。SOAP actor全局屬性可以用于指示頭元素的接收者。SOAP actor屬性的值是一個URI。省略SOAP actor屬性表示接收者是SOAP消息的終節點

      對網絡服務的創建和設計需要注意的地方如下圖:

           

      除了此處,網絡服務和其他的使用wse3.0的服務,沒有區別。

      再看一下路由,路由程序是一個非常特殊的程序,他可以沒有任何程序,只包含兩個配置文件,這里主要講述一下如何設置這兩個配置文件

      1. 首先我們先對創建的路由網站做wse設置,可以采用wse與vs2005的集成工具。如下圖所示:

        這樣就添加了對Microsoft.Web.Services3的引用,需要注意的是,web.config中添加引用的部分必須類似如下

        因為這個項目沒有bin目錄,當然如果您打可sp1的補丁,添加引用后,bin目錄會有相關dll,是不需要如上圖所示的。我這里創建的是網站,所以必須如此,因為沒有這個網站將無法使用wse,也就無法實現路由的功能了。

      對路由網站的設置還包括如下操作,它為web.config添加了一個HttpHandler,用于處理http請求,您可以自定義HttpHandler,也可以使用wse3.0默認提供的Microsoft.Web.Services3.Messaging.SoapHttpRouter,添加方法如下:

               

      點擊確定后

              

      經過上面的操作,會在web.config添加如下的代碼:

              

      您也可以手動添加。

      1. 創建一個referral cache文件,在里面寫路由配置,如下:

         

        下面說明一下各個節點的意義:

        <r:referrals>節點是根節點。在一個配置文件中有且只有一個。

        <r:ref>節點用于標識一個特定的路由配置,在一個配置文件中可有可無,也可以是多個

        <r:for>節點用于指示來源消息的部分信息

        <r:exact>節點用于指定一個來源信息的詳細信息,一個<r:for>必須包含一個<r:exact>或者<r:prefix>

        <r:if>節點指定路由的條件,一個<r:for>必須有一個<r:if>

        <r:go>節點指示重定向的一些信息,一個<r:ref>一個<r:go>

        <r:via>節點指示消息重定向到的url地址,一個<r:go>至少一個<r:via>

        <r:refId>節點指示路由配置的唯一標識

        設置好referral cache后,需要做如下的設置:

        點擊確定后,在web.config添加如下代碼:

         

        部署路由站點的時候,一定要注意要對referral cache給網絡用戶(IIS6.0中是network service)設置文件寫權限,這個是必須的,不要忘記

         

        對于客戶端而言,和其他客戶端沒有區別,只是將消息的發送地址設置為路由地址。設置方式如下:

        此時,啟動客戶端程序,便可以出現如下圖所示的結果:

        表明如第一張圖中所示的三個部分都已經正常工作了。

        下面模擬一下路由的優點,當運行網絡的服務器S1需要維修或者系統需要升級的時候,我們可以按照以下的步驟來進行操作:

        第一步:準備好一個備用服務器S2,將S2上部署一個和S1上一樣的環境,并部署網絡服務程序。

        第二步:準備另外一個referral cache配置文件,將其中的<r:go>中的信息更改為S2上服務的Url地址。

        第三部:用新的referral cache文件替換路由服務器R上的referral cache

        經過這三步,客戶端可以沒有任何的改動和影響。消息可以照常發送,但實際的接收方已經變為了S2.

        運行客戶端,我們有得到了我們期待的結果

        限于條件所限,本文中在一臺機器中模擬客戶端,路由,和服務端,下載到本地的程序需要更改url才能運行

              還可以通過更改Soap消息內容來實現此種功能,留作下一篇做闡述。 

       項目示例:
      項目文件

      posted @ 2008-01-08 16:56  Robin Zhang  閱讀(2871)  評論(9)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧洲日产国产av无码| 日韩av不卡一区二区在线| 类乌齐县| 日韩中文字幕有码午夜美女| 国99久9在线 | 免费| 国产精品SM捆绑调教视频| 亚洲色一色噜一噜噜噜| 免费人成网站视频在线观看| 90后极品粉嫩小泬20p| 精品夜恋影院亚洲欧洲| 亚洲国产婷婷综合在线精品| 狠狠色婷婷久久综合频道日韩 | 九九热视频在线免费观看| 亚洲国产婷婷综合在线精品| 国精产品一区一区三区mba下载| 激情综合色综合久久丁香| 马关县| 国产精品先锋资源在线看| 高清自拍亚洲精品二区| 真实国产老熟女无套中出| 激情综合网激情综合网五月| 亚洲国产高清av网站| 亚洲全网成人资源在线观看| 精品福利视频一区二区三区| 国产深夜福利在线免费观看| 亚洲人成小说网站色在线| 精品久久人人做爽综合| 色欲狠狠躁天天躁无码中文字幕| 色一乱一伦一图一区二区精品| 亚洲天堂男人影院| 国内精品伊人久久久久av| 色成人精品免费视频| 清远市| 中文字幕日韩有码av| 久久精品国产一区二区三| 中文午夜乱理片无码| 精品国际久久久久999波多野| 日韩av综合免费在线| 成人午夜在线观看日韩| 布拖县| 福利一区二区1000|