【发布时间】:2013-10-17 18:13:34
【问题描述】:
我很困惑。我有一个 xsd 文件,没有 wsdl,显然我通过 SOAP 发送这些数据。现在看着所有我回去并注意到这一点
(使用 ssl)常规会话开始 由发送的 HTTP POST 请求 客户。请求的正文 包含符合的 XML 文档 SOME_API 请求架构
所以...我根本没有使用 SOAP?我想对他们提供给我的架构文件做些什么吗?这里(工作中)似乎没有人知道。
【问题讨论】:
我很困惑。我有一个 xsd 文件,没有 wsdl,显然我通过 SOAP 发送这些数据。现在看着所有我回去并注意到这一点
(使用 ssl)常规会话开始 由发送的 HTTP POST 请求 客户。请求的正文 包含符合的 XML 文档 SOME_API 请求架构
所以...我根本没有使用 SOAP?我想对他们提供给我的架构文件做些什么吗?这里(工作中)似乎没有人知道。
【问题讨论】:
您应该从阅读Http made really easy 开始。 Soap 使用 http 将其消息从客户端发送到服务器,并且当您正在谈论的文档要求您使用 HTTP 协议向肥皂服务器发送消息时。谷歌搜索一下应该会找到一些不错的肥皂入门指南。
您发送的消息是使用此架构的 XML 文档。架构定义了有效的 XML 类型。获取一个好的 XML 编辑器,例如 oxygen,并告诉它您正在使用模式(指向您的 xsd 文件)创建一个新的 xml 文档,然后查看您可以输入的内容。
我的搜索出现了这两个:
【讨论】:
只需发送一个符合架构的带有 XML 的 HTTP POST。您可以手动读取模式(这可能很困难),或者使用 Tom 建议的 XML 编辑器,但还有另一种可能性:许多平台提供了自动从 XSD 模式生成类的工具,您可以稍后自动序列化以获得正确的 XML。
例如,如果您使用 .NET:使用 xsd.exe 工具从架构生成类,然后将这些信息作为常规类填充,然后使用 XmlSerializer 将根类转换为 XML。
【讨论】:
根据您的描述,它似乎根本不是真正的 SOAP API,而是类似于 XML-RPC 的东西。
只需发送一个符合架构的带有 XML 的 HTTP POST。您可以手动读取模式(这可能很困难),或者使用 Tom 建议的 XML 编辑器,但还有另一种可能性:许多平台提供了自动从 XSD 模式生成类的工具,您可以稍后自动序列化以获得正确的 XML。
例如,如果您使用 .NET:使用 xsd.exe 工具从架构生成类,然后将这些信息作为常规类填充,然后使用 XmlSerializer 将根类转换为 XML。
【讨论】:
您正在了解为什么应该遵循标准。
如果这真的是一个基于 SOAP 的 Web 服务,那么一定有一个 WSDL。也不例外。 WSDL 旨在描述您需要了解的有关 Web 服务的所有信息。我强烈建议您询问 Web 服务的开发人员它是否是 SOAP Web 服务,并要求他们提供 WSDL 或解释为什么他们认为不应该这样做。
【讨论】: