如何使用Zeep发送重复数据

我有下一个wdsl:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:siat="https://siat.impuestos.gob.bo/">
   <soapenv:Header/>
   <soapenv:Body>
      <siat:solicitudCufdMasivo>
         <SolicitudMasivo>
            <codigoambiente>?</codigoambiente>
            <codigoModalidad>?</codigoModalidad>
            <codigoSistema>?</codigoSistema>
            <!--1 or more repetitions:-->
            <datosSolicitud>
               <!--Optional:-->
               <codigoPuntoVenta>?</codigoPuntoVenta>
               <codigoSucursal>?</codigoSucursal>
               <cuis>?</cuis>
            </datosSolicitud>
            <nit>?</nit>
         </SolicitudMasivo>
      </siat:solicitudCufdMasivo>
   </soapenv:Body>
</soapenv:Envelope>

我了解的是,这部分我可以像下面这样反复发送:

<datosSolicitud>
    <codigoPuntoVenta>1</codigoPuntoVenta>
    <codigoSucursal>1</codigoSucursal>
    <cuis>1</cuis>
</datosSolicitud>
<datosSolicitud>
    <codigoPuntoVenta>2</codigoPuntoVenta>
    <codigoSucursal>2</codigoSucursal>
    <cuis>2</cuis>
</datosSolicitud>

我过去经常使用带有for循环的字典,例如下一个代码:

# -*- coding: utf-8 -*-

from zeep import Client,Settings

settings = Settings(strict=False,xml_huge_tree=True)
url = <service_url>
client = Client(url,settings=settings)
submit_dictionary = {}
for keys,values in <an_iterable>.items():
    submit_dictionary[keys] = values

response = client.service.<some_method>(submit_dictionary)

如果在请求中发送一次“ datosSolicitud”块,则此代码将正常工作。但是我认为,如果必须多次使用不同的值发送该块,则for循环将无法工作,因为它将仅替换第一个块的值。 如果有人能以简单的方式解释我将如何发送这样的请求,我将不胜感激。

www4046994 回答:如何使用Zeep发送重复数据

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3087841.html

大家都在问