如何指定 xsi:type zeep python

2024-04-01

我使用 python 的 zeep SOAP 客户端,尝试将一些数据获取到某些 wsdl_address 。我现在有以下内容:

ambCase = {'data1':'value1',
       'data2':'value2'}
client = zeep.Client(wsdl=WSDL_Address)
result = client.service.MethodName(GUID, {'CaseDto':ambCase})

其中 ambCase 是我想要访问服务器的数据。 MethodName 方法需要 2 个参数:GUID 令牌(工作没有问题)和具有指定 xsi:type 属性的 ambCase 对象(在我的例子中它应该是“CaseAmb”),我无法让它工作,它失败并显示错误: zeep.exceptions.Fault:异常 str() 失败

上面的代码生成此 xml(标头除外):

<soap-env:Body>
<ns0:AddCase xmlns:ns0="http://tempuri.org/">
  <ns0:guid>00000000-0000-0000-0000-000000000000</ns0:guid>
  <ns0:caseDto/>
</ns0:AddCase>

我对 SOAP 和 zeep 还很陌生,所以有人可以帮忙吗?


经过反复试验,以下组合有效:

objectType = client.get_type('ns6:someTypeName') # someTypeName will be in xsi:type attribute
objectWrap = xsd.Element('xmlTagName',objectType) # xmlTagName - name of created xml element
objectValue = objectWrap('param1',param2,param3[0]) # putting actual data values into object
client = zeep.Client(wsdl)
result = client.service.MethodName(objectValue) # calling  some method with your object(with explicitly detrmined type) as param

问题是,如果你传递一个字典作为方法参数,zeep 将自己创建该对象(没有类型),如果你想确定类型 - 自己创建该对象

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

如何指定 xsi:type zeep python 的相关文章

随机推荐

  • 对可能包含时间或距离的字符串进行排序

    我已经为自定义字符串实现了排序算法 该字符串表示田径赛事的时间或距离数据 下面是格式 10 03 00 十分三秒或 10 英尺三英寸 排序的结果是 对于野外事件 最长的投掷或跳跃将是第一个元素 而对于跑步事件 最快的时间将是第一个元素 下面
  • 如何固定Snackbar的高度和位置?

    On Android 支持库 24 1 1 Snackbar 工作正常 然后开始Android 支持库 24 2 0从那时起 Snackbar 开始表现如下 在图书馆修订记录 https developer android com topi
  • Pandas DataFrame 迭代行和总和

    我有这个熊猫数据框 recipe name ingredient group weight pudding milk 0 60 pudding 2 sugar 0 10 pudding 2 sugar 0 70 pudding 2 milk
  • 如何将 R 中的 SpatialPointsDataFrame 更改为 SpatialPolygonsDataFrame 以便在 ggplot2 中使用它?

    我使用 R 使用 ggplot2 中的大圆在世界地图上投影一些数据流 我还想在我的地图上投影以下城市地区 http www naturalearthdata com downloads http www naturalearthdata c
  • 在 Angular Firestore 查询中禁用缓存

    我正在运行 firestore 查询来获取数据 但该查询正在从之前的缓存数据查询返回数据 然后在来自服务器的第二次传递中返回其他数据 之前未查询到 有没有办法可以禁用 firestore 查询的缓存 以便每次查询某些内容时请求都会发送到数据
  • 在 Android 上的 PhoneGap 3.3 中打开系统浏览器中的链接

    我一直在寻找答案 但似乎我找到的大部分内容都是针对旧版本的 PhoneGap 这是我的链接代码 a href My Account a 这段代码完全没有任何作用 我点击链接但没有任何反应 是的 我在 HTML 页面上添加了phonegap
  • 如何在 Deno 中下载大文件?

    我试图下载一个 10GB 的文件 但只有 4GB 保存到磁盘上 而且内存增长了很多 const res await fetch https speed hetzner de 10GB bin const file await Deno op
  • Docker CentOS 映像不会自动启动 httpd

    我正在尝试使用 Apache 和 PHP 程序运行一个简单的 Docker 映像 如果我跑的话效果很好 docker run t i p 80 80 my httpd bin bash 然后手动启动Apache service httpd
  • curl: (60) SSL 证书问题:无法获取本地颁发者证书

    root sclrdev home sclr certs FreshCerts curl ftp ssl verbose ftp abc u trup trup cacert etc ssl certs ca certificates cr
  • 从交替的一侧循环列表

    给定一个列表 a 0 1 2 3 4 5 6 7 8 9 我怎样才能得到 b 0 9 1 8 2 7 3 6 4 5 也就是说 产生一个新列表 其中每个连续元素交替地从原始列表的两侧取出 gt gt gt a i 2 if i 2 else
  • 有没有办法让 R 脚本在收到错误消息后继续执行而不是停止执行?

    我目前正在为学校的一个项目运行方差分析 该项目有大量可能的运行 1400 次左右 但其中一些无法在 R 中运行方差分析 我编写了一个脚本来运行所有方差分析 但其中一些它们不会运行 并且 Rout 文件给了我 错误于contrasts lt
  • (设计支持库)CollapsingToolbarLayout - 工具栏未固定在折叠上

    我在将设计支持库集成到我的应用程序中时遇到问题 由于某种原因 工具栏会随 CollapsingToolbarLayout 一起折叠 并且不会像 Chris Banes 的 Cheesesquare 示例中那样将其固定 https githu
  • 将带有参数的视图组件渲染到名为outlet ember.js 中

    我的应用程序模板中有 2 个命名网点 slider area and pre footer 有没有一种方法可以传递带有参数的视图组件 如main slider索引模板中显示的组件是否连接到命名出口 所以我需要通过 main slider s
  • Xamarin iOS - HomeKit 集成

    我正在使用 Xamarin iOS 开发一个应用程序 我需要添加使用来自内部 API 的地址向 HomeKit 添加附件的可能性 基本上我使用 Web 请求检索设备的地址 一旦我有了配件的 setupCode 我就会尝试使用 HomeKit
  • 如何在 SWI-Prolog 中创建事实?

    我只想创建类似的东西 like x y 我已经尝试了很长时间了 真的很沮丧 谁能告诉我该怎么做 我假设您正在交互地使用 swi 并尝试输入事实会给您一个如下错误 1 like x y ERROR toplevel Undefined pro
  • ini_set、set_time_limit、(max_execution_time) - 不起作用

    If I do set time limit 50 or ini set max execution time 50 然后当我回声时ini get max execution time 在我的本地主机上我得到50 但是当我在另一台服务器上执
  • 保持 LDAP 会话

    在 PHP 中 假设我在第 1 页有一个 LDAP 连接 ldapconn ldap connect ldapserver if ldapconn binding to ldap server ldapbind ldap bind ldap
  • 如何在不加载整个文件的情况下向 CSV 添加标题行?

    我有一个console application我想添加一个header row到 CSV 文件 而不将数据加载到应用程序中 我需要什么代码来执行此操作 并且仅检查第一行以查看标题是否已存在 如果不存在则不添加标题行 我尝试了几种方法来执行此
  • Excel VBA 类型不匹配将范围传递给数组时出错[重复]

    这个问题在这里已经有答案了 我正在尝试检索工作表中单元格数组的值 存储为数组而不是简单单元格 但由于某种原因不断收到运行时错误 13 类型不匹配 我读过有关类似问题的帖子 但其中许多似乎与数组类型错误 即不是变体类型 或静态大小有关 这是调
  • 如何指定 xsi:type zeep python

    我使用 python 的 zeep SOAP 客户端 尝试将一些数据获取到某些 wsdl address 我现在有以下内容 ambCase data1 value1 data2 value2 client zeep Client wsdl