Это нелегко сделать и, возможно, не стоит.
Учтите, что если XML, отправляемый вашей службе, не соответствует схеме, он не будет десериализован должным образом. Если он достаточно плох, ваша сервисная операция даже не будет вызвана.
Тем не менее, если вам действительно нужно это сделать, то вам следует рассмотреть пример класса SoapExtension . Я рекомендую сначала получить пример, работающий в точности как есть. Затем я рекомендую вам создать новую версию примера и заставить ее делать то, что вы хотите.
Вам нужно изменить методы WriteInput и / или WriteOutput для проверки вашего XML с помощью одного из доступных методов, возможно, путем настройки XmlReader для выполнения проверки и чтения из входного потока; и конфигурирование XmlWrite для записи в выходной поток; а затем запустить цикл для чтения с входа и записи на выход.