Я нахожусь в неудачной ситуации, когда мне нужно использовать веб-сервисы, для которых не определен контракт, в соответствии с обычной практикой SOA.Это означает, что мне нужно защититься от изменений в веб-сервисах, которые нарушают мои веб-ссылки.В прошлом серьезные изменения в новых версиях веб-служб, такие как изменение значений перечисления, вызывали трудности при отладке.
Я использую веб-ссылки для доступа к веб-службам.В основном я использую конечные точки ASMX.
Кажется, что разумным способом защиты от критических изменений является проверка конечной точки для каждого веб-сервиса, гарантируя, что WSDL, определенный для сервиса, соответствует текущей схеме конечной точки.Я хотел бы сделать это во время сборки и, возможно, также при запуске приложения.Предпочтительно проверка не будет выполнена только для прерывания изменений, а это означает, что добавление новых элементов в схему конечной точки будет в порядке.
Один из способов сделать это - сгенерировать временный WSDL из конечной точки и убедиться, чтокаждый элемент XML в существующем WSDL содержится во временном WSDL.Но это кажется странным, и мне интересно, есть ли существующий инструментарий, или лучший способ сделать это.
Спасибо за вашу помощь и предложения.