如何使用SUD将数组解析到SOAP服务器

2024-04-25 00:15:26 发布

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

设置

我使用Python3.7和SUDS库通过SOAP连接到服务器

我正试图通过'AddMutatie'调用向服务器添加一个变种

print(c.factory.create('AddMutatie'))

(AddMutatie){
   SessionID = None
   SecurityCode2 = None
   oMut = 
      (cMutatie){
         MutatieNr = None
         Soort = 
            (enMutatieSoorten){
               value = None
            }
         Datum = None
         Rekening = None
         RelatieCode = None
         Factuurnummer = None
         Boekstuk = None
         Omschrijving = None
         Betalingstermijn = None
         Betalingskenmerk = None
         InExBTW = None
         MutatieRegels = 
            (ArrayOfCMutatieRegel){
               cMutatieRegel[] = <empty>
            }
      }
 }

问题

我不知道如何解析位于MutatieRegelscMutatieRegel[] = <empty>数组


尝试

我试过了

c.service.AddMutatie(SessionID,sec2,
                     {'Soort': 'FactuurVerstuurd',
                      'Datum': today,
                      'Rekening': '1300',
                      'RelatieCode': relation_code,
                      'Factuurnummer': invoice_number,
                      'Omschrijving': description,
                      'Betalingstermijn': '14',
                      'InExBTW': 'IN',
                      'MutatieRegels': mutatieregels,
                      })   

结合,

1.

mutatieregels = [{'BedragInvoer': total_amount,
                  'BedragExclBTW': total_amount_excl_tax,
                  'BedragBTW': total_tax,
                  'BedragInclBTW': total_amount,
                  'BTWCode': 'HOOG_VERK_21',
                  'BTWPercentage': 0.21,
                  'TegenrekeningCode': code_rekening}]

它给出了一个TypeNotFound: Type not found: 'BedragInvoer'

2.

mutatieregels = {'BedragInvoer': total_amount,
                  'BedragExclBTW': total_amount_excl_tax,
                  'BedragBTW': total_tax,
                  'BedragInclBTW': total_amount,
                  'BTWCode': 'HOOG_VERK_21',
                  'BTWPercentage': 0.21,
                  'TegenrekeningCode': code_rekening}

这也给出了一个TypeNotFound: Type not found: 'BedragInvoer'

3.

mutatieregels = [total_amount,total_amount_excl_tax,total_tax,total_amount,'HOOG_VERK_21',0.21, code_rekening]

它成功地解析到服务器,但实际上没有向服务器添加mutatieregels信息,只是从DatumInExBTW的信息


问题

如何在mutatieregels解析信息,使其显示在服务器端


Tags: 服务器nonecodeamounttotaltaxdatumexcl