web-services - soap:address 和 http:address

标签 web-services soap wsdl

我在理解 wsdl 中 soap:addresshttp: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)。

链接

  1. WSDL 1.1 Specification
  2. WSDL 1.2 Specification: Bindings

关于web-services - soap:address 和 http:address,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10585975/

相关文章:

java - 如何从 Java 验证 WSDL URL 是否已启动并正在运行?

现有应用程序中的 Java Web 服务集成

c# - 无法以编程方式反序列化 SOAP 消息

javascript - 使用 Javascript 从 SOAP 中提取数据

android - 我如何使用 phonegap for android 调用网络服务

wsdl - 如何自定义 JAX-WS 生成的 WSDL?

java - 如何从使用现有 XSD 类型的 WSDL 构建 Java

java网络服务;未生成方法

java - 初学者 Web 服务问题

web-services - 对于高安全性应用程序,我应该使用哪种 Web 服务引擎/框架?