问题标签 [zeep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
603 浏览

python - python ZEEP:在 SOAP 响应中 GUID 未从 XML 解析为 JSON

我正在使用 Python 的 ZEEP 库连接到 SOAP Web 服务,发现 XML 中返回的字段之一未正确解析。我已经从下面的 XML 响应中复制了片段,以及解析的 JSON。

另请参阅https://gist.github.com/bsteverink/dede1f3341828d069a502f16ccc5da0b以按照 ZEEP 文档中的说明进行完整演示。

我正在使用 Zeep 2.0.0。

从 SOAP 服务返回的片段:

来自客户端的 JSON 结果:

欢迎任何提示,提示。

0 投票
2 回答
882 浏览

python - 用 Zeep 阅读 SOAP

我正在尝试使用 Python 的Zeep阅读这个 Soap API ' https://www.shab.ch/soapserver ' 。

但收到以下错误消息:

谁能看到我在这里做错了什么?

0 投票
2 回答
1059 浏览

python - 如何使用 zeep 添加 wsu:Id 属性?

我有以下 python 代码来设置 SOAP 请求的标头:

它产生以下xml:

但是,而不是Id="id-1"我需要它wsu:Id="id-1"。我需要在标题中指定哪个参数来完成此操作?

0 投票
1 回答
2389 浏览

python - 如何使用zeep为签名添加时间戳?

我正在尝试创建一个使用 WSDL 文件并生成正确 SOAP 消息的客户端。这就是我创建客户端的方式:

zeep 代码中的注释说它应该生成类似于以下内容的 XML:

但是它不添加mustUnderstand属性并且TimeStamp是空白的。有谁知道如何确保这些字段设置正确?

0 投票
1 回答
3552 浏览

python - 使用 zeep / python 创建 XML 序列

我正在使用 zeep (Python 3.6) 与 SOAP API 交互,并使用包含此部分的 WSDL 模式:

所以我希望我的 zeep 生成的 XML 看起来像这样:

我第一次尝试使用 Zeep 实现这一点是这样的:

但是,当将此发送到我的 SOAP API 时,会产生以下错误:

我相信这是因为我的“乘客”属性应该包含一个带有标签名称“乘客”的 Zeep 对象,其中包含我的元素列表。我已经尝试修补zeep.xsd.AnyType来实现这一点,但还没有成功。

任何建议,将不胜感激。

0 投票
3 回答
2364 浏览

python - 如何在 python 中使用 zeep 实现 wsdl?

我正在使用 zeep 来实现 Web 服务,其中一个 WSDL 在 python 中不起作用,但在 c# 中没关系。

这是我正在使用的代码:

而且,我的错误是:

在 c# 中它可以工作!你有什么想法可以帮助我吗?

0 投票
2 回答
7316 浏览

zeep - 使用 Zeep 解析 WSDL

我想用 Zeep 解析一个 WSDL 文件并退出:

  • 所有的操作
  • 为每个操作请求 xml 消息

有关解析 wsdl 的任何示例?

我想我应该使用 zeep.wsdl 和 parse_service 方法?

/一个

0 投票
1 回答
1561 浏览

python - 如何在 zeep 中使用 wsdl 的每种方法发送标头?

我是使用zeep的新手。并尝试实施 wsdl: http: //leon.leonardotravel.com/Leon.svc/wsdl

我必须像这样发送请求:

当我想使用这个 wsdl 的每个方法时,我应该发送标题。你能帮助我吗?!

0 投票
0 回答
722 浏览

python - Salesforce SOAP / 元数据 API 登录 - Python

我正在使用 Python zeep使用 SOAP 与 Salesforce 的元数据 API 进行交互。

我试图从最简单的事情开始,只需登录并读取元数据对象。

问题是,Salesforce 要求您将您指向的端点更改为您在登录请求 ( docs ) 的响应中获得的 URL。但我不知道如何进行这样的登录调用。我上面的代码似乎通过在对象的构造中使用用户名和密码来隐藏该登录调用client

因此,执行这样的readMetadata方法会client.service.readMetadata()导致此错误:
Fault: UNKNOWN_EXCEPTION: Destination URL not reset. The URL returned from login must be set in the SforceService

所以我的问题是如何在 Python 中对 SOAP API 进行登录调用?

(Salesforce文档中的 Java 示例使用了一个connection我不太确定 Python zeep 等价物是什么的对象,所以我没有示例可以参考。)

编辑:
顺便说一句,我已经在 Salesforce 堆栈交换中询问过,但认为zeep即使他们不了解 Salesforce,也可以由知道的人来回答,因此也值得在这里发布。

更新:
对于身份验证,我已经使用 OAuth 流程来获取访问令牌,用于 REST API,因此我将重用该身份验证方法/访问令牌。这将我的问题改为:

1)我如何使用访问令牌(我相信它取代了 sessionID)然后向元数据 API 发出请求?
2)如果我使用 OAuth 流来获取访问令牌,我仍然缺少元数据 API 服务器 url,那么我怎样才能得到它(或构造它,比如https://server-api.salesforce.com/services/Soap/m/40.0/orgId或其他东西)?

0 投票
2 回答
1189 浏览

python - SOAP - 必须为元素指定类型属性值

使用Python zeep,我正在与 Salesforce 的 SOAP(特别是元数据)API 进行交互。

试图createMetadata我得到这个错误:

Fault: Must specify a {http://www.w3.org/2001/XMLSchema-instance}type attribute value for the {http://soap.sforce.com/2006/04/metadata}metadata element

我已经收集到这与传递给方法的参数无关(这种方式createMetadata需要一个metadata参数,它本身是一个带有fullName字段的对象),而是关于xsi:type某处缺少的属性。

这是我的zeep电话:

这是生成的 XML:

我的问题是:我怎样才能将xsi:type它设置在需要设置的任何东西上(那ns0:metadata个人?)使用zeep

更新:
我没有使用字典来表示元数据对象,而是将其替换为:

新生成的 XML 是:

它具有标签xsi:type上的属性ns0:metadata,但我得到与以前相同的错误。所以我想这不是关于失踪的xsi:type。关于它是什么的任何想法?