我正在为一些具有行业标准wsdls的服务编写代理。该项目的目标是让所有参与者将其请求发送到代理,无论格式如何,我们将包装消息并将其发送到预期目标。
然而,弄清楚预定目标是谁已经成为一个难题。我已经考虑过修改WSDL以包含一个额外的SOAP头,但我想尽量避免修改众所周知的行业wsdls。
我的另一个选择是使用带有一些变量的端点。 /<network>/<service>/
是服务的现有端点方案。我想制作这个/<network>/<service>/<target>/
,但只在实际代码中使用<target>
作为逻辑。我不想为每个<target>
设置一个单独的端点,因为它们是可变的,并且无论其内容是什么,都将是相同的服务和wsdl。
我无法找到以/<network>/<service>/*/
有效的方式定义SOAP端点的方法。这可能吗?如果是这样,最好的方法是什么?
答案 0 :(得分:0)
我们使用标题部分来存储路由信息和用户ID以及常规元数据。
但如果你不想这样做,那么WS-Addressing是否相关?它至少是标准化的。我认为你仍然需要一个标题。
“Web服务端点是可以引用Web服务消息的(可引用的)实体,处理器或资源。端点引用传达识别/引用Web服务端点所需的信息,并且可以以多种不同的方式使用:端点引用适用于传递访问Web服务端点所需的信息,但也用于为发送到Web服务和从Web服务发送的各个消息提供地址。为了处理此最后一个用例,此规范定义了一系列消息信息头它允许独立于底层传输的消息统一寻址。这些消息信息头传达端到端消息特征,包括寻址源和目标端点以及消息标识。“