小编Gui*_*lle的帖子

使用 zeep.Client Python 将自定义标头添加到 SOAP 请求

我在创建自定义标头并将其添加到 SOAP 标头时遇到问题。如果我写一个 RAW 请求它可以工作,但我想在 Python3 中使用 zeep 库

我尝试添加这些标题

header = xsd.Element(
        'headerMDMPeticio',xsd.ComplexType([
            xsd.Element('idSistemaOrigen',xsd.String()),
            xsd.Element(
                'headerMidominio',xsd.ComplexType([
                    xsd.Element('usuariConnectat',xsd.String()),
                    xsd.Element('rolUsuariConnectat',xsd.String())
                ])
            )
        ])
    )
header_value = header(headerMidominio={'usuariConnectat':'user','rolUsuariConnectat':'roleExample'})
Run Code Online (Sandbox Code Playgroud)

摘自这些书https://buildmedia.readthedocs.org/media/pdf/python-zeep/master/python-zeep.pdf(第18页)

这是我正在使用的生成 XML 的 python 代码

header = xsd.Element(
        'headerMDMPeticio',xsd.ComplexType([
            xsd.Element('idSistemaOrigen',xsd.String()),
            xsd.Element(
                'headerMidominio',xsd.ComplexType([
                    xsd.Element('usuariConnectat',xsd.String()),
                    xsd.Element('rolUsuariConnectat',xsd.String())
                ])
            )
        ])
    )
header_value = header(headerMidominio={'usuariConnectat':'user','rolUsuariConnectat':'roleExample'})
Run Code Online (Sandbox Code Playgroud)

预期(从 SOAP UI 中提取),重点关注 v01:headerMDMPeticio 和此节点的子节点。在 body 内部我还需要添加 v012:usosDada 来请求。

Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action="http://services.dev.midominio.edu/soa/servei/CodisProjectesMDM/v01_00/consultarCodiProjecteMDMInput"
Content-Length: 1811
Host: services.dev.midominio.edu
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v01="http://midominio.edu/soa/esquema/ElementsComunsMDM/v01_00" xmlns:v011="http://midominio.edu/soa/esquema/ElementsComuns/v01_01" xmlns:v012="http://midominio.edu/soa/servei/MDMCodisProjectes/v01_00">
    <soap:Header> …
Run Code Online (Sandbox Code Playgroud)

soap python-3.x zeep

1
推荐指数
1
解决办法
8461
查看次数

标签 统计

python-3.x ×1

soap ×1

zeep ×1