使用 zeep python 进行 SOAP 验证的类型错误

问题描述

WSDL 有以下内容

     <xsd:complexType name="Transaction_TypeShape">
     <xsd:all>
      <xsd:element minOccurs="0" name="COMBO_CF_MSG_H" type="COMBO_CF_MSG_HMsgDataRecord_TypeShape"/>
     </xsd:all>
     </xsd:complexType>
     <xsd:complexType name="COMBO_CF_MSG_HMsgDataRecord_TypeShape">
     <xsd:sequence>
       <xsd:element name="BUSInesS_UNIT_GL" type="BUSInesS_UNIT_GL_TypeShape"/>
       <xsd:element name="LEDGER_GROUP" type="LEDGER_GROUP_TypeShape"/>
       <xsd:element minOccurs="0" name="ACCOUNTING_DT" type="ACCOUNTING_DT_TypeShape"/>
       <xsd:sequence maxOccurs="unbounded" minOccurs="0">
           <xsd:element name="COMBO_CF_MSG_D" type="COMBO_CF_MSG_DMsgDataRecord_TypeShape"/>
           <xsd:element minOccurs="0" name="PSCAMA" type="PSCAMAMsgDataRecord_TypeShape"/>
       </xsd:sequence>
     </xsd:sequence>
     <xsd:attribute fixed="R" name="class" type="xsd:string" use="required"/>
    </xsd:complexType>

我的 JSON 看起来像:

  "Transaction": {
       "COMBO_CF_MSG_H": {
        "BUSInesS_UNIT_GL": "DAT1","LEDGER_GROUP": "BASIC","ACCOUNTING_DT": "2020-06-08","class": "R","COMBO_CF_MSG_D":
        {
            "SEQNO": "3","COMBO_VALID_FLG": "","ACCOUNT": "ACCNT","DEPTID": "DOOA","OPErating_UNIT": "X190","CLASS_FLD": "SDF","class": "R"
        }
       } 
      }

我的错误

     TypeError: {..}COMBO_CF_MSG_HMsgDataRecord_TypeShape() got an unexpected keyword argument 'COMBO_CF_MSG_D'. Signature: BUSInesS_UNIT_GL: {..}BUSInesS_UNIT_GL_TypeShape,ACCOUNTING_DT: {..}ACCOUNTING_DT_TypeShape,[COMBO_CF_MSG_D: {..}COMBO_CF_MSG_DMsgDataRecord_TypeShape,PSCAMA: {..}],class: xsd:string

我的错误表明我传递 COMBO_CF_MSG_D 的方式有问题。正如它所说,它必须是 [COMBO_CF_MSG_D...

有人可以帮我看看缺少什么吗?提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)