【问题标题】:How to generate a List<String> with zeep?如何使用 zeep 生成 List<String>?
【发布时间】:2019-01-02 12:16:27
【问题描述】:

我正在使用 Python 库 zeep 与 SOAP 服务通信。文档中所需的参数之一是 List&lt;String&gt; 类型,在 WSDL 中我发现了这个:

<xs:element minOccurs="0" maxOccurs="1" name="IncludedLenders" type="tns:ArrayOfString"/>

而且我相信AraryOfString 被定义为:

<xs:complexType name="ArrayOfString">
  <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

如何让 zeep 为其生成值?我试过了:

"IncludedLenders": [
  "BMS",
  "BME"
]

但这会产生:

                <ns0:IncludedLenders>
                    <ns0:string>BMS</ns0:string>
                </ns0:IncludedLenders>

代替:

                <ns0:IncludedLenders>
                    <ns0:string>BMS</ns0:string>
                    <ns0:string>BME</ns0:string>
                </ns0:IncludedLenders>

任何想法如何生成后者?

【问题讨论】:

    标签: python soap zeep


    【解决方案1】:

    我想通了。首先我需要提取ArrayOfString 类型:

    array_of_string_type = client.get_type("ns1:ArrayOfString")
    

    然后以这种方式创建它:

    "IncludedLenders": array_of_string_type(["BMS","BME"])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-08
      • 2023-03-30
      相关资源
      最近更新 更多