您提到这是打印机的 SOAP 服务。打印机的 API 是否记录在制造商的网站上?文档是否包含 WSDL?你能从制造商那里得到 WSDL 吗?
如果您可以从制造商那里获得 WSDL,那么您就完成了!
如果没有,那么您必须自己构建 WSDL,因为我怀疑您是否可以找到一个在给定 SOAP 示例的情况下生成 WSDL 的工具(使用 SOAP Web 服务时,您主要获得两种工具:从 WSDL 生成代码的工具+ 从代码生成 WSDL 的那些)。
如果您熟悉 SOAP、WSDL 和 XSD,创建 WSDL 并不难。您只需要一个文本编辑器,甚至可能需要一个 WSDL editor 来加快速度。
如果您对自己的 WSDL 知识没有完全的信心,仍然有一些工具可以帮助您了解完整的 WSDL。这是您可以做到的一种方法:
1 - 首先您需要为 SOAP 有效负载创建 XML schema。为此,您可以找到工具,甚至是some online。获得架构后,通过添加、更改或删除元素来调整它以满足您的需求。
2 - 现在您可以使用 XSD 生成 WSDL。有一个online tool 可以做到这一点。它只需要请求/响应元素类型以 Request/Response 结尾。请务必阅读说明。
您获取您的 XSD 文件,更改操作名称以添加 Request/Response 后缀并将其提供给 WSDL Generator - Web Tool。您将获得您的 WSDL。
现在根据需要调整此 WSDL(如果不需要,请删除 Request/Response 后缀)然后...
3 - ... 确保您以a valid WSDL 结束。
4 - 现在您可以使用您的 WSDL 并使用像 SoapUI 这样的工具从中生成示例请求和响应,以验证您是否获得了正确的结果。
SoapUI 消息是否与您开始使用的消息相匹配?如果是,您就完成了,可以将 WSDL 提供给 suds 以创建 Linux 客户端。如果没有,请调整 WSDL,直到获得所需的结果。