向zeep clien传递参数

2024-06-25 06:13:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个wsdl文件:

<soapenv:Header/>
<soapenv:Body>
  <pag:creaCarrello>
     <GestioneCarrelliRequest>
        <utenteApplicativo>YZSMOPMO</utenteApplicativo>
        <carrelloDto>
           <idCarrelloSorgente>11223344</idCarrelloSorgente>
           <itemCarrelloDtoList>
              <causale>prova</causale>
              <codiceEnte>CCIAA_MI</codiceEnte>
              <importo>2</importo>
              <importoImposta>1</importoImposta>
              <importoTotale>3</importoTotale>
              <importoUnitario>2</importoUnitario>
              <quantitaItem>1</quantitaItem>
              <tipoContabilizzazione>TA</tipoContabilizzazione>
           </itemCarrelloDtoList>
        </carrelloDto>
     </GestioneCarrelliRequest>
  </pag:creaCarrello>

这是一个用Java编写的SOAP服务。我需要查询此服务,我使用的是python Zeep库:

^{pr2}$

但我从Django那里收到了一个错误:

ValidationError at /soapclient/
Missing element utenteApplicativo (creaCarrello.GestioneCarrelliRequest)

参数传递错误?


Tags: pagsoapenvimportoidcarrellosorgentecausalequantitaitemcreacarrellocodiceente
2条回答

错误是。在

invalid syntax (views.py, line 193) 

其中193是定义idCarrelloSorgente=11223344的行。 以这种方式通过:

^{pr2}$

我收到错误:

unhashable type: 'dict'

这些似乎是向客户端传递参数的wrog方法。在

在这个例子中:

def soapclient(request):

     session = Session()
     session.auth = HTTPBasicAuth('user', 'password',   transport=Transport(session=session))
     client = Client('my_url_of_wsdl_file.wsdl')

     call=client.service.creaCarrello(
      utenteApplicativo='YZSMOPMO',
      carrelloDto= {
       idCarrelloSorgente=11223344,
       itemCarrelloDtoList= {
        causale='prova'
        codiceEnte='CCIAA_MI',
        importo=2,
        importoImposta=1,
        importoTotale=3,
        importoUnitario=2,
        quantitaItem=1,
        tipoContabilizzazione='TA'
       }
      }
     )

相关问题 更多 >