Если я изменю targetNamespace WSDL, это сломает существующих потребителей? - PullRequest
2 голосов
/ 29 февраля 2012

В настоящее время я работаю над стратегией управления версиями SOA для моей организации.Я пытаюсь определить, где мы должны хранить номер версии (Major.Minor) в WSDL.Будут внесены неразрывные изменения в интерфейс службы (т. Е. Добавлены новые операции), и для этих неразрывных изменений мы просто увеличим младший номер.Мы рассматриваем возможность использования targetNamespace WSDL для хранения версии, но боимся, что изменение targetNamespace WSDL с 1.0 до 1.1 может привести к серьезным изменениям для некоторых клиентов.

Может кто-нибудь сказать мне, что изменение targetNamespace WSDL будет иметь для существующих потребителей этой конкретной веб-службы.Я провел несколько тестов с использованием WCF и обнаружил, что он не нарушает существующие приложения, использующие сервис.Тем не менее, мне интересно, будет ли это по-прежнему верно для других клиентов .NET?

Примечание. Я понимаю, что изменение targetNamespace XSD, на которое ссылается WSDL, действительно приводит к серьезным изменениям.

1 Ответ

2 голосов
/ 02 марта 2012

Поместите номер основной версии в пространство имен.Поместите мажор и минор в элемент документации.Существует замечательная книга Томаса Эрла, в которой рассматриваются такие вещи: Разработка контрактов веб-сервисов и управление версиями для SOA .Самое лучшее в этой книге - это то, что она заставит вас задуматься о вещах, которые вы, вероятно, не рассматривали, например, планируете ли вы / хотите использовать строгую, обратно совместимую или совместимую стратегию управления версиями и каковы последствия каждой из них.*

...