仅使用 Python 生成示例 SOAP 请求和响应模板。没有 Zeep、SOAPUI 或任何其他工具

2024-06-28

我对 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>

我尝试过的:

  1. 我使用 python 的 ElementTree 模块来处理当前程序中的 XML。我已经仔细阅读了文档,但在没有更深入地了解现有系统中如何完成的情况下,看不到生成示例的方法
  2. 我在开源 SOAPUI 代码中找到了我认为生成模板的内容,试图了解它们是如何做到的。这里的问题是我对 Java 的了解不够,无法使用他们的代码。此外,我想继续我目前如何使用 python。
  3. The Zeep https://python-zeep.readthedocs.io/en/master/通常建议使用模块来处理 SOAP 客户端。我目前正在学习如何使用它。然而,同样,因为我不明白模板是如何生成的,所以我很难使用 Zeep 来实现它。同样,我想继续像以前一样,使用 ElementTree 和 Python。即使我能用 Zeep 实现这一点,我仍然不明白模板是如何生成的。
  4. 我在 python 代码中创建了处理 WSDL 文件各个部分的类。我不明白如何将各个部分组合到 XML 模板中。

TLDR:如何从 WSDL 文件生成 XML 模板?具体来说,如何解析包含多个操作的 WSDL 并为其中一个操作生成 XML 模板?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅使用 Python 生成示例 SOAP 请求和响应模板。没有 Zeep、SOAPUI 或任何其他工具 的相关文章

  • 使用 JSON 将数据从 Python 导出到 Tableau?

    如何以表格形式从 Python 获取 400 万行和 28 列 我假设 基于搜索 我应该使用 JSON 格式 这种格式可以处理大量数据并且足够快 我制作了 12 行数据的子集并尝试使其正常工作 好消息是 它正在发挥作用 坏消息 不是我想要的
  • 如何显示 pymongo.errors.OperationFailure 详细信息?

    写入 MongoDB 时 我在 python 中遇到 pymongo OperationsFailure 除了回溯之外 还有没有办法打印出详细信息或代码属性 另请参阅 http api mongodb org python current
  • 在 Windows 中安装 IPOPT 求解器以与 pyomo 一起使用

    如何安装 IPOPT 求解器以在 Windows 中与 pyomo 一起使用 我尝试了 pip install ipopt 但收到此错误 错误 为 ipopt 构建轮子失败 我正在使用 Windows 10 和 Python 3 7 4 在
  • 可绘制 Android 上的颜色叠加

    我一直在这里关注这个教程中 对角线切割视图 https cdn images 1 medium com max 800 1 IIPRX4i4cOAdxAMeGpY92w png获得对角线视图效果
  • 尝试将行附加到按对象分组中的每个组时出现奇怪的行为

    这个问题是关于一个函数在应用于两个不同的数据帧时以意想不到的方式表现的 更准确地说 是 groupby 对象 要么是我遗漏了一些明显错误的东西 要么是 pandas 中存在错误 我编写了以下函数 将一行附加到 groupby 对象中的每个组
  • 如何在Tensorflow中读取json文件?

    我正在尝试编写一个函数 用于读取张量流中的 json 文件 json 文件具有以下结构 bounding box y 98 5 x 94 0 height 197 width 188 rotation yaw 27 970195770263
  • 如何在不使用pygame的情况下检测按键事件和按键按住事件

    我目前正在寻找一个能够检测 监视键盘的库 我的目的是检测何时按下某个键 以及当它发生时应该发生一些事情 大多数 SO 帖子建议使用 pygame 但我发现它有点太多了 涉及一个像这样的库来完成这个简单的任务 我也尝试过pynput 这导致只
  • matplotlib 示例代码不适用于 python 虚拟环境

    我正在尝试在 matplotlib 中显示图像的 x y z 坐标 示例代码 http matplotlib org examples api image zcoord html在全局 python 安装上工作得很好 当我移动光标时 x y
  • python 使用曲面图和第四个变量的滑块可视化 4d 数据

    如何使用前 3 个变量和第四个变量的 3 维曲面图作为滑块来可视化 4 维数据 从 csv 文件加载 集 我写了一个非常小的示例 重点介绍了实现此目标的方法 import numpy as np import matplotlib pypl
  • python中matlab find函数的替换

    我正在尝试寻找合适的python函数来替代matlabfind在我的脚本和一些谷歌搜索中我看到np where 大多数时候都能解决目的 但在双重条件的情况下 我有不同的输出 有人可以告诉我这种方法有什么问题以及如何继续吗 示例代码和差异如下
  • 如何使用 Python 从 URL 中删除查询字符串

    Example http example com a text q2 text2 q3 text3 q2 text4 删除后 q2 它将返回 http example com q text q3 text3 在这种情况下 出现了多个 q2
  • 如何在Python中生成0-1矩阵的所有可能组合?

    如何生成大小为 K N 的 0 1 矩阵的所有可能组合 例如 如果我取 K 2 和 N 2 我会得到以下组合 combination 1 0 0 0 0 combination 2 1 0 0 0 combination 3 0 1 0 0
  • 由 asyncio.new_event_loop 创建的事件循环挂起

    以下代码只是挂起而不打印任何内容 import asyncio async def foo loop print foo loop stop loop asyncio new event loop asyncio ensure future
  • 相比之下,超出了最大递归深度

    我写了这段代码来计算组合的数量 def fact n return 1 if n 1 else n fact n 1 def combinations n k return fact n fact n k fact k while True
  • Python 生成器每次调用都会产生相同的值

    我希望这个生成器生成列表中每个连续值的余弦 但每次都得到相同的值 import math angles range 0 361 3 calculate x coords def calc x angle list for a in angl
  • 从线程队列中获取所有项目

    我有一个线程将结果写入队列 在另一个线程 GUI 中 我定期 在 IDLE 事件中 检查队列中是否有结果 如下所示 def queue get all q items while 1 try items append q get nowai
  • Python Blowfish 加密

    由于我对 Java 的了解不完整 我正在努力将此加密代码转换为 Python 代码 两者应该得到完全相同的结果 帮助将不胜感激 Java函数 import javax crypto Cipher import javax crypto sp
  • 使用 XSLT 以外的其他解决方案解析 XML

    我的公司正在开发一个项目 需要在ABAP中读取XML文件 当 XML 文件没有特定标记的数据时 它会忽略该数据 有些标签是自动关闭的 例如 SAP 开发人员表示 要读取 XML 文档 他首先将文档解析为 ABAP XML 结构 该过程在第
  • 如何在 python setup.py 中 chmod 文件?

    我使用 setup py 创建了一个 python 包安装 我希望它复制文件夹 为临时创建的 did 中的数据文件 问题是我必须使用 sudo 权限调用 setup py 因为它写入 usr local 因此 当我的数据文件复制到 did
  • Python:正则表达式 findall

    我使用 python 正则表达式从给定字符串中提取某些值 这是我的字符串 mystring txt sometext somemore text here some other text course course1 Id Name mar

随机推荐