1

我有以下类型

<xsd:element name="getDetail">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:choice>
                <xsd:element name="uno" type="xsd:string" />
                <xsd:element name="dos" type="uct:DosType" />
                <xsd:element name="tres" type="uct:E164Type" />
                <xsd:element name="cuatro" type="xsd:string" />
            </xsd:choice>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

所以我必须选择其中一个选项。为此,我确实遵循了以下链接的数据结构方法,主要是嵌套使用 _value_1 方法

http://docs.python-zeep.org/en/master/datastructures.html

所以我写的代码是这样的

element = client.get_element('ns2:getSubscriptionDetail')
element_value = element(_value_1={'uno' : 'numeroUno', 'dos':'numeroDos' , 'tres': 'numeroTres', 'cuatro': 'numeroCuatro'})

但是当我运行我的python时,我得到了这个错误:

TypeError: {ns0}getSubscriptionDetail() got an unexpected keyword argument '_value_1'. Signature: `({uno: xsd:string} | {dos: {ns0}ImsiType} | {tres: {ns0}E164Type} | {cuatro: xsd:string})`

为什么value1作为参数出乎意料?有任何想法吗?

PD:我的 getDetail 类型在 xsd:sequence 中有 xsd:choice,在 zeep 文档中,这些类型是颠倒的。这很重要吗?我无法更改我的 WSDL

4

0 回答 0