微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Zeep 客户端服务请求缺少元素

如何解决Zeep 客户端服务请求缺少元素

Python/Zeep 新手,请保持温和

将以下内容发布到我的端点时,一切都按预期工作:

<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope">
    <Body>
        <PassthroughReq xmlns="http://amsservices.com/">
            <XMLinput>
                <INPUT>
                    <Account value="account" />
                    <Username value="username" />
                    <Password value="password" />
                    <Serverpool value="serverpool" />
                    <ProgramName name="WEBSERVICE.GET.POLICY.DATA.IDS" />
                    <Command cmd="279898" />
                </INPUT>
            </XMLinput>
        </PassthroughReq>
    </Body>
</Envelope>

我正在尝试使用以下代码复制请求:

import os
from zeep import Client

account = os.environ.get('sgws_account')
username = os.environ.get('sgws_username')
password = os.environ.get('sgws_password')
serverpool = os.environ.get('sgws_serverpool')
wsdl = os.environ.get('sgws_wsdl')

client = Client(wsdl)

xmlInput = {
    'INPUT':{
        'Account':account,'Username':username,'Password':password,'Serverpool':serverpool,'ProgramName':'WEBSERVICE.GET.POLICY.DATA.IDS','Command':'279898'
    }
}

ptr = client.get_element('ns0:PassthroughReq')(xmlInput)

client.service.PassthroughReq(XMLinput=ptr)

结果是“缺少任何元素”

我也尝试了如下请求,结果相同:

client.service.PassthroughReq(ptr)

wdsl 中的相关全局元素是:

ns0:PassthroughReq(XMLinput: {_value_1: ANY})

我将在下面的评论中粘贴完整的回溯。

我希望这是一个简单的失误,由于我的无知,但我不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。