Soap 如果我更改WSDL';它会破坏现有的使用者吗?

Soap 如果我更改WSDL';它会破坏现有的使用者吗?,soap,wsdl,soa,Soap,Wsdl,Soa,我目前正在为我的组织制定SOA版本控制策略。我试图确定我们应该将版本号(Major.Minor)存储在WSDL中的何处。将对服务接口进行不间断的更改(即添加新操作),对于这些不间断的更改,我们将只增加较小的数量。我们正在考虑使用WSDL的targetNamespace来存储版本,但我们担心将WSDL的targetNamespace从类似1.0的内容更改为1.1可能会导致某些客户端发生重大更改 谁能告诉我更改WSDL的targetNamespace会对该特定web服务的现有使用者产生什么影响。我使

我目前正在为我的组织制定SOA版本控制策略。我试图确定我们应该将版本号(Major.Minor)存储在WSDL中的何处。将对服务接口进行不间断的更改(即添加新操作),对于这些不间断的更改,我们将只增加较小的数量。我们正在考虑使用WSDL的targetNamespace来存储版本,但我们担心将WSDL的targetNamespace从类似1.0的内容更改为1.1可能会导致某些客户端发生重大更改

谁能告诉我更改WSDL的targetNamespace会对该特定web服务的现有使用者产生什么影响。我使用WCF运行了一些测试,发现它不会破坏使用该服务的现有应用程序。然而,我想知道其他非.NET客户端是否仍然如此


注意:我确实意识到,更改WSDL引用的XSD的targetNamespace确实会导致破坏性的更改。

将主要版本号放在命名空间中。将大调和小调放在文档元素中。托马斯·厄尔(Thomas Erl)有一本很棒的书,涵盖了这类内容:。这本书最好的一点是,它会让你想到你可能没有考虑过的事情,比如你是否计划/想要使用严格的、向后兼容的或向前兼容的版本控制策略,以及每种策略的含义。

是的,它会。两个名称相同但名称空间不同的元素是不同的元素。我不确定是否理解您的回答。你是说这可能会破坏一些现有的消费者?你指的两个要素是什么?我建议更改现有WSDL端点的targetNamespace,而不是创建新端点。例如,如果您更改WSDL的
targetNamespace
,那么您正在更改消息、绑定、端口类型等的名称空间。