我使用zeep (Python 3.6)与SOAP API进行交互,并使用包含以下部分的WSDL模式:
<xs:element name="passengers">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="passenger" type="com:PassengerType"/>
</xs:sequence>
</xs:complexType>
</xs:element>所以我希望我的zeep生成的XML看起来像这样:
<book:passengers>
<book:passenger>
...redacted...
</book:passenger>
</book:passengers>我用Zeep实现这一点的第一次尝试是这样的:
passengers = [factories.PassengerType()]但是,在将此代码发送到我的SOAP API时,会生成以下错误:
File "/usr/local/lib/python3.6/site-packages/zeep/xsd/elements/element.py", line 220, in validate
"Missing element %s" % (self.name), path=render_path)
zeep.exceptions.ValidationError: Missing element passenger (createBookingRecordRequest.passengers)我相信这是因为我的‘passenger’属性应该包含一个带有标记名"passenger“的Zeep对象,该对象将包含我的元素列表。我已经尝试过修改zeep.xsd.AnyType来实现这一点,但是还没有成功。
如有任何建议,我们将不胜感激。
https://stackoverflow.com/questions/44658401
复制相似问题