SOAP 请求在 SOAPUI 中有效,但在使用 Requests 库的 Python 中失败

问题描述 投票:0回答:0

我在从我的 Python 代码发出 SOAP 请求时遇到问题。我使用 SOAP UI 测试了相同的请求,并且成功运行。但是,当我尝试使用 Requests 库和 Zeep 在 Python 中复制请求时,它不起作用

(我应该补充一点,我已经提出了其他两个都有效的请求 在 SOAP UI 和 Python 中,但它们都不涉及不记名令牌)

我使用 httptoolkit 比较请求并注意到 SOAP UI 向 SOAP 请求添加了一些行。我将相同的内容添加到我的 Python 代码中,但它导致了不同的错误。 我再次比较请求并确认不记名令牌和代码匹配。我怀疑 SOAP UI 可能有某种机制来正确验证令牌,但我一直无法弄清楚。我将不胜感激,因为我已经为这个问题苦苦挣扎了好几天。

这是 soapui 请求工作标头:

  1. 方法:发布

  2. **网址:**https://externalchannels-pro-ws.gruposancorseguros.com/Brokers/Document/DocumentService.svc

    标题

  3. 接受编码: gzip,deflate

  4. 授权:承载eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1EWTVPVGc1TVRrek1FUkVRVVF4TVVZNE16WTJPVUkxTmpGQk5FUTRPVE14TnpNelJUVkRRZyJ9.eyJl bWFpbCI6Im1pY2Flb ....截断 出于安全原因

  5. 连接: Keep-Alive

  6. 内容长度: 1026

  7. 内容类型: application/soap+xml;charset=UTF-8;action="http://tempuri.org/IDocumentService/GetCertificateDocument"

  8. 主持人: externalchannels-pro-ws.gruposancorseguros.com

  9. 用户代理: Apache-HttpClient/4.5.5 (Java/16.0.1)


这是不起作用的 python 请求标头:

  1. 方法: 发布

  2. URLhttps://externalchannels-pro-ws.gruposancorseguros.com/Brokers/Document/DocumentService.svc

    标题

  3. 接受编码: gzip,deflate

  4. 授权:承载eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1EWTVPVGc1TVRrek1FUkVRVVF ...截断 出于安全原因

  5. 连接: Keep-Alive

  6. 内容长度: 940

  7. 内容类型: application/soap+xml;charset=UTF-8;action="http://tempuri.org/IDocumentService/GetCertificateDocument"

  8. 主持人: externalchannels-pro-ws.gruposancorseguros.com

  9. 用户代理: python-requests/2.30.0

我用屏幕截图、代码、错误响应提出了一个超级完整的问题,但 stackoverflow 将其标记为垃圾邮件,并且在花费大量时间起草它之后非常令人沮丧。希望你能理解。

python web-services soap python-requests soapui
© www.soinside.com 2019 - 2024. All rights reserved.