Sprawdzanie poprawności żądania WCF przy użyciu XML

mamWCF Usługa sieciowa SOAP przy użyciu platformy .Net 4.0. ja używamcontract first podejście - tzn. kod usługi jest generowany z ręcznie napisanego WSDL przy użyciu narzędzia WCSF Blue.

Mam następujące wymagania dotyczące komunikatu żądania.

Jeśli cena jest mniejsza niż 100, nie może być elementu podatkowego, ale jeśli jest większy niż 100, wymagany jest element podatkowy.

W XPath wyrażenie będzie następujące

//t:price[. < 100][not(following::t:tax)] or 
//t:price[. >=100][following::t:tax]

Potrafię to obsługiwać w kodzie C # usługi. Chciałbym jednak zdefiniować tę regułę w samym WSDL przy użyciu dowolnej technologii XML. Pomoże to klientowi dowiedzieć się, jaka jest walidacja biznesowa, którą powinien spełniać komunikat wejściowy. (To jest definicja reguły biznesowej, a jej implementacja znajduje się w samym WSDL; nie należy udostępniać klientowi innej dokumentacji).

Jaki jest najlepszy sposób na osiągnięcie tego w WCF? Pod jaką sekcją wWSDL Mogę zdefiniowaćXML validations tak, że będzie przetwarzany przezWCF?

W pierwszych dwóch odnośnikach podanych poniżej jest wspomniane podejścieXPath i programy obsługi C # (dla Web Services Framework). Czy nie możemy tego zrobić w WCF? Czy C # nie może przeczytać XPath z WSDL? Jak to zrobić? Jakieś referencje?

Uwaga: W porządku mogę mieć programy obsługi C # do wykonania; alebusiness logic dlavalidation powinien byćXML

Odniesienie

Rozszerz platformę ASP.NET WebMethod o walidację reguł biznesowych - Aaron Skonnard i Dan SullivanWS-Policy i WSE 2.0 Assertion Handlers - autor: Aaron SkonnardHartmut's Box - Cztery zasady i XML Messaging z WCFSprawdzanie poprawności wiadomości ze schematem w WCFWalidacja XML z Schematron / XSD w C #Definiowanie xml w xsd, gdzie atrybut określa możliwą zawartość

questionAnswers(2)

yourAnswerToTheQuestion