【发布时间】:2015-06-21 18:28:13
【问题描述】:
所以有一个 SOAP 网络服务。 WSDL 中的targetNamespace 根据客户的可配置字符串动态变化。想一想
targetNamespace="http://myservice."+ [CouldBeAnyString] + "domain.com"
我有两个问题:
我的基础研究告诉我,这是开发 Web 服务的一种非常奇怪(不好?)的做法。想法?
如何为这样的网络服务编写客户端?我已经使用 jax-ws 存根进行了测试,当 targetNamespace 更改时它不兼容。还有其他建议吗?我一直在尝试了解基于 wsdl 的动态客户端生成。如果存在的话,会更喜欢一条更好的路径
更新: 我只是客户。服务由其他人提供。 同一客户有多个环境(例如测试、生产),其中服务托管在不同的目标命名空间下
【问题讨论】:
-
您没有提供一些重要的上下文。您是服务提供商还是只是客户?为什么这个 WSDL 会发生变化?
CouldBeAnyString值是否会针对同一个客户端发生变化?这是区分调用者的一种方式吗? -
当然。用附加信息更新了问题
-
每个环境的命名空间是一个奇怪的设置,至少对我来说这是我第一次看到这个。只是出于好奇,知道他们为什么选择这样做吗?服务商有解释吗?
标签: java web-services soap namespaces jax-ws