gpt4 book ai didi

web-services - 使用捕获的流量为现有 SOAP 服务生成 WSDL

转载 作者:行者123 更新时间:2023-12-03 22:33:15 26 4
gpt4 key购买 nike

我需要使用打印机的 SOAP 服务。有一个 Windows 工具可以访问此服务,我用它来生成 SOAP 请求和我需要的重要功能的响应。

现在我应该使用 Python 为 Linux 编写一个客户端,我发现最简单的方法是使用 suds带有 WSDL 文件的库。但是我没有这个 WSDL!

当我调查 windows 工具(查看可执行文件的 hexdump)时,我得出的结论是可能根本没有 WSDL 文件。

现在我的问题是,有没有人使用过“逆向工程”SOAP 服务并且知道对于为现有服务创建 WSDL 文件可能有用的工具? (谷歌搜索还没有提出任何有用的东西)。

最佳答案

您提到这是打印机的 SOAP 服务。打印机的 API 是否记录在制造商的网站上?文档是否包含 WSDL?你能从制造商那里得到 WSDL 吗?

如果您可以从制造商那里获得 WSDL,那么您就大功告成了!

如果没有,那么您必须自己构建 WSDL,因为我怀疑您能否找到一种工具来生成给定 SOAP 示例的 WSDL(在使用 SOAP Web 服务时,您主要获得两种工具:从 WSDL 生成代码的工具 + 那些从 WSDL 生成代码的工具从代码生成 WSDL)。

如果您熟悉 SOAP、WSDL 和 XSD,那么创建 WSDL 并不难。你只需要一个文本编辑器,或者甚至一个 WSDL editor加快速度。

如果您对自己的 WSDL 知识没有完全的信心,仍然有一些工具可以帮助您获得完整的 WSDL。这是你可以做到的一种方法:

1 - 首先你需要创建 XML schema对于 SOAP 有效负载。为此,您可以找到工具,甚至 some online .获得架构后,通过添加、更改或删除元素来根据您的需要调整它。

2 - 现在您可以使用 XSD 生成 WSDL。有一个online tool这样做。它只需要请求/响应元素类型以请求/响应结束。请务必阅读说明。

您获取 XSD 文件,更改操作名称以添加请求/响应后缀并将其提供给 WSDL Generator - Web 工具。您将获得您的 WSDL。

现在根据需要调整此 WSDL(如果不需要,请删除请求/响应后缀)然后...

3 - ... 确保你最终得到 a valid WSDL .

4 - 现在您可以使用您的 WSDL 并使用类似 SoapUI 的工具从中生成示例请求和响应,以验证您是否获得了正确的结果。

SoapUI 消息是否与您开始的消息匹配?如果是,您就完成了,可以将 WSDL 提供给 suds创建 Linux 客户端。如果没有,请调整 WSDL,直到得到您想要的结果。

关于web-services - 使用捕获的流量为现有 SOAP 服务生成 WSDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com