python - zeep 客户端异常。zeep.transport.session.cookies 不传播
问题描述
我试图创建一个 zeep 客户端并通过两种方法使用它。
1)我试图将所有内容都保存在一个模块中。我创建了 zeep 客户端对象,它在使用有效负载时工作正常。2) 我创建了一个方法,它返回一个 wsdl 的 zeep 客户端对象。我尝试将这种方式用作方法 1)但出现以下错误。zeep.exception.Fault :无法验证传入消息。未找到有效凭据 有人可以告诉我这里缺少什么导致此错误。我的第二种方法是这样的。\\ def zeepClient(wsdl): ## 在这里执行所有操作并返回 zeep 客户端对象。return client #Now 在另一个模块中,我确实调用了上述方法,例如 Client=othermodule.zeepClient(mywsdl) Payload={my payload} Client.service.myservice(**Payload) \\
如果我这样做,我会得到上述错误。但是如果我上面的代码和我的 zeepClient 方法都在同一个地方。我没有收到错误。没有把握 。Returned Client 对象缺少什么。
解决方案
您必须向会话提供凭据,然后像这里一样发出请求
from requests import Session
from requests.auth import HTTPBasicAuth # or HTTPDigestAuth, or OAuth1, etc.
from zeep import Client
from zeep.transports import Transport
session = Session()
session.auth = HTTPBasicAuth(user, password)
client = Client('http://my-endpoint.com/production.svc?wsdl',
transport=Transport(session=session))
推荐阅读
- c# - 如何禁用树节点复选框?
- stored-procedures - DB2 LUW 版本 10.5.0.10 - 在存储过程中获取警告(未找到)行
- java - IntelliJ 无法识别 Maven 插件
- flutter - 在颤振中将字符串转换为 Uint8Array
- macos - 如何在 Mac 上的 Jupyter Notebook 中键入“@”字符
- ios - 使用 BezierUIView 创建三角形按钮
- autohotkey - AHK 发送 Key 定义的 Key
- tensorflow-federated - TypeError:预期的 tensorflow.python.framework.tensor_spec.TensorSpec,找到 numpy.ndarray
- python - lambda python中的JSON模式验证器
- javascript - 如何使用 for 循环正确排序单词长度数组?