我们的团队正在开发一个正在版本化的 API。我们有以下命名模式:
http://example.com/remote/soap/vX.Y/wsdl
X.Y
版本号在哪里。我的问题是:targetNamespace应该包含整个 WSDL 地址还是仅包含http://example.com/remote/soap
一部分?
通过 Inernet 挖掘,我发现以下教程可以阅读:
targetNamespace 的值只是一个唯一标识符,通常公司使用那里的 url 后跟一些东西来限定它。原则上,命名空间没有任何意义,但一些公司使用存储架构的 url 作为 targetNamespace,因此一些 XML 解析器将使用它作为架构的提示路径 [...]
考虑到我们的 API 可以在不同版本之间发生显着变化,我认为在 targetNamespace URI 中提供版本号会更好。