我在理解 wsdl 中 soap:address 和 http:address 标签之间的区别时遇到了一些问题。它可以互换吗?我可以使用 soap:address 代替 http:address 吗?
最佳答案
简答
不,你不能。它们不可互换。它们属于不同的 WSDL 绑定(bind)。
长答案
WSDL 格式不受特定协议(protocol)的约束。相反,它可以扩展以与各种协议(protocol)(如 SOAP、HTTP 和 MIME)结合使用。这种扩展称为绑定(bind)。绑定(bind)定义用于与 Web 服务通信的协议(protocol)和消息格式。每个 Binding 都有一个 namespace 和关联的 namespace 前缀,这些前缀附加在标签之前。命名空间前缀和标签用冒号分隔。所以,soap:address标签中的soap命名空间前缀表明它属于SOAP Binding,而中的http命名空间前缀>http:address 标签表示它属于HTTP Binding。您不能将它们混合在一个绑定(bind)中,因为根据 WSDL 规范,一个绑定(bind)必须准确指定一个协议(protocol)。但是您可以为一种端口类型设置不同的绑定(bind)。
链接
关于web-services - soap:address 和 http:address,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10585975/