Greetings, 我想編寫一個單元測試以確保我們的Web服務沒有將WSDL從最後一個已知的發佈版本中更改。原因是因爲對WSDL中對象的任何更改都會導致使用Apache Axis的客戶端失敗。即使你所做的只是添加一個不需要的屬性。因此,如果發生了變化,開發人員需要提醒他們,因爲產品管理需要與客戶溝通有關更改的信息,以便他們可以在新WSDL發佈時準備好重新編譯他們的存根。如何在不發出http請求的情況下在c#中生成WSDL
所以我希望能有這樣的事情:
[Test]
public void TheWSDLHasNotChanged(){
XmlDocument currentWSDL = SomeMysteryServiceIDontKnowAbout.GetWSDLForWebServiceClass(typeof(UserService));
XmlDocument existingWSDL = new XmlDocument().Load("ExistingWsdl.wsdl");
Assert.That(currentWSDL, Is.Equal.To(existingWSDL));
}
出於顯而易見的原因,我不想做一個Web服務器的請求(這可能會或可能不會甚至可以運行單元測試運行時)。
可能重複:http://stackoverflow.com/questions/1309861/are-there-any-tools-to-build-asmx-proxies-from-server-side-assemblies/1827650 – 2009-12-01 17:24:14