2010-05-21 75 views
1

由於一些不幸的事件,我們在幾個月前發佈了一個帶有tempname -namespace的Web服務,並且沒有人注意到(不是在我們公司,不是連接到Web的公司服務),即使它自那時起就已經存在,許多公司(我猜想有25家公司)已經可以訪問這個網絡服務。部署後更改asp.net Web服務名稱空間

現在我正在考慮糾正這個錯誤,並將名稱空間固定爲適當的值。 唯一的問題是,只要我們這樣做,連接到此Web服務的所有程序和服務將停止工作。我不能真的讓這發生。

是否有任何方法來修復名稱空間以備將來使用,或讓Web服務在兩個名稱空間下作爲一個Web服務運行?

我能做些什麼來擺脫tempuri名稱空間,並修復它而無需與所有外部公司同步更改?

我完全沒有想法,所以任何幫助將非常感謝!謝謝!

回答

0

你確定使用webservice的所有東西都會停止工作嗎?我所看到的大部分東西都不會在意名稱空間是否改變。即如果您創建Web引用或在Visual Studio中使用WSD工具來使用Web服務,則如果Web服務上的XML名稱空間發生更改,它將不會中斷。它在C#命名空間根本不使用它。

+0

感謝您的快速響應! 是的我已經使自己成爲一個演示工具,並使用測試環境來查看當我們修復名稱空間時會發生什麼:我的演示工具不再工作。我不得不在visual studio中使用「更新web引用」並重新編譯,然後再次運行。我還與兩家外部公司進行了調查,我可以比其他大多數公司更容易地交流,他們也嘗試過,並且必須更新他們的軟件,因爲它不再工作 - 因此我想到了其他方法公司沒有受到這種變化的影響。 – eloQ 2010-05-21 16:48:16

+0

哦,我忘記了:通過「停止工作」我實際上意味着唯一要改變的是更新Web引用和重新編譯,當然其他所有事情,傳遞值,獲取值,仍然以同樣的方式工作。它只是程序的發送部分在名稱空間改變時停止工作。 – eloQ 2010-05-21 16:49:51

0

您是否可以等到下一次發佈您的Web服務集?在這一點上,他們需要重新編譯新的WSDL。

+0

時間不是我想擺脫tempuri默認的問題。當我們對服務進行更新時,我們通常只對XML結構/ XSD進行更新,而不是發佈新版本。公司不必通常重新編譯新的WSDL,我們經常更新(擴展)一些部分,這絕不是問題,只有命名空間更改會嚴重影響事情。 – eloQ 2010-05-21 17:45:20

+0

我非常確定,更改WSDL的名稱空間是一個重大改變,並且沒有辦法在沒有客戶端重建的情況下執行它。 – bechbd 2010-05-26 21:24:46