我对 python 很陌生,对网络服务也很陌生。我最近开始了一个我非常热衷的项目,这是一个很好的学习机会。然而,经过几周的研究,我陷入了困境,需要一些帮助。
我想做的是制作我自己的 WSDL 界面,其工作方式类似于 SOAPUI。我的程序将解析任何工作日 WSDL 文件 https://community.workday.com/sites/default/files/file-hosting/productionapi/Resource_Management/v33.0/Resource_Management.xsd如需必要的信息,请返回请求模板示例 https://community.workday.com/sites/default/files/file-hosting/productionapi/Resource_Management/v33.0/samples/Get_Purchase_Items_Request.xml,允许用户编辑该模板,最后将 xml 提交到 Workday 服务器。
现在,我的程序允许用户使用预先存在的 xml 模板提交 Get 和 Put 请求。我不明白的是如何从 WSDL 生成请求/响应模板。我对工具不感兴趣,我想了解它们是如何做到的,这样我就可以制作自己的工具。
EXAMPLE
上面链接的“Workday WSDL 文件”称为资源管理。我将从 Workday 服务器下载该 WSDL,以便访问相关操作。一种这样的操作称为“Get_Purchase_Item_Request”。然后,我会从此 WSDL 生成示例 xml 请求,并得到如下结果:
<bsvc:Get_Purchase_Items_Request xmlns:bsvc="urn:com.workday/bsvc" bsvc:version="string">
<!--You have a CHOICE of the next 2 items at this level-->
<!-- Optional: -->
<bsvc:Request_References>
<!-- 1 or more repetitions: -->
<bsvc:Purchase_Item_Reference bsvc:Descriptor="string">
<!-- Zero or more repetitions: -->
<bsvc:ID bsvc:type="string">string</bsvc:ID>
</bsvc:Purchase_Item_Reference>
</bsvc:Request_References>
</bsvc:Get_Purchase_Items_Request>
我尝试过的:
- 我使用 python 的 ElementTree 模块来处理当前程序中的 XML。我已经仔细阅读了文档,但在没有更深入地了解现有系统中如何完成的情况下,看不到生成示例的方法
- 我在开源 SOAPUI 代码中找到了我认为生成模板的内容,试图了解它们是如何做到的。这里的问题是我对 Java 的了解不够,无法使用他们的代码。此外,我想继续我目前如何使用 python。
- The Zeep https://python-zeep.readthedocs.io/en/master/通常建议使用模块来处理 SOAP 客户端。我目前正在学习如何使用它。然而,同样,因为我不明白模板是如何生成的,所以我很难使用 Zeep 来实现它。同样,我想继续像以前一样,使用 ElementTree 和 Python。即使我能用 Zeep 实现这一点,我仍然不明白模板是如何生成的。
- 我在 python 代码中创建了处理 WSDL 文件各个部分的类。我不明白如何将各个部分组合到 XML 模板中。
TLDR:如何从 WSDL 文件生成 XML 模板?具体来说,如何解析包含多个操作的 WSDL 并为其中一个操作生成 XML 模板?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)