【发布时间】:2011-11-03 06:34:23
【问题描述】:
我已经阅读了几篇关于 WSDL 和 SOAP 的文章,但我仍然对这些术语的实际含义感到困惑。现在,我知道您需要构造一个请求消息才能使用 Web 服务,它是发布还是获取消息。在谈论基于 SOAP 的 Web 服务时,您需要通过构造的符合 SOAP 的 XML 文档与 Web 服务器进行通信。因此,您需要手动构建它或使用适当的库。当这个东西出现时,WSDL 呢?
Wikipedia 指出“WSDL 通常与 SOAP 和 XML Schema 结合使用,以通过 Internet 提供 Web 服务。连接到 Web 服务的客户端程序可以读取 WSDL 文件以确定服务器上可用的操作。” .所以这意味着 WSDL 只是一些描述 Web 服务器上可用服务的文件,我想,这种通信也必须使用 SOAP 完成。但是,如果我知道我使用的所有 Web 服务,我的意思是,如果它们是硬编码的,那么这意味着我根本不会处理 WSDL。恕我直言 WSDL 仅适用于非常智能的系统,其中在使用 Web 服务之前,程序需要读取状态并确定要读取的内容。我说的对吗?
【问题讨论】:
-
简而言之:WSDL 描述了 Web 服务的接口。 自动化工具然后可以将 WSDL 转换为类/方法,它可以使用而无需手动而不必构造 SOAP XML。因此,它提供了一个“定义明确”的接口,可以加快开发速度并减少错误。
标签: objective-c web-services soap wsdl