2012-02-13 12 views
3

我想要的是用少數屬性(例如min,max,字符串長度等)來裝飾我的數據契約,並獲取爲我的SOAP(非.net)客戶端生成的XML模式。互聯網上經過一番研究,我所遇到的以下文章:使用WCF中的Schema進行消息驗證

http://wcfsecurity.codeplex.com/wikipage?title=How%20To%20-%20Perform%20Message%20Validation%20with%20Schemas%20in%20WCF

這似乎是相當手冊給我。我在一些更體面的解決方案和開箱即用功能之後。隨着WCF提供這麼多,如果它錯過了SOAP標準驗證的整個概念,我會感到驚訝。

對此的任何幫助將不勝感激。

+0

您是否找到解決方案?如果是的話,你可以發表你的答案嗎? – Lijo 2013-03-19 07:50:51

+1

不,我找不到解決方案,並決定在沒有它的情況下生活 – 2013-05-01 05:09:01

回答

3

在服務的WSDL中可找到DataContract對象的XML模式。由於多種原因,WCF沒有針對這些模式顯式驗證肥皂消息。首先,反序列化SOAP消息的過程實際上是基於在數據類上定義的DataContract或XML序列化來執行驗證。接下來,如果每個soap消息都是針對XML模式進行驗證的,那麼性能會有明顯的下降。最後,WCF通過IExtensibleDataObject可選接口功能支持肥皂消息版本控制,以實現前向和後向兼容。要做到這一點,XML模式驗證很可能會過於嚴格。

+1

我沒有經過驗證,但生成的WSDL包括驗證屬性,如 2012-03-30 03:21:15

+1

聽起來像你聽起來看起來在WCF [自定義元數據](http://msdn.microsoft.com/en-us/library/ms731213.aspx)擴展名。這允許您以任何您需要的方式非常操作生成的WSDL。 – 2012-03-30 14:48:52

相關問題