我有以下类型
<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