2017-02-15 13 views
2

Я работал с python zeep для проверки документа WSDL и генерировал соответствующий код для использования служб и типов в документе wsdl.Python zeep обзор доступных сервисов

Приведенный ниже код является кратким примером. Он частично работает. Проблема заключается в том: Эти параметры не совсем то, что веб-сервис ждет

client = Client(wsdl='veda/wsdl/vedascore-apply-v2-0-6.wsdl') 
client.service.submitEnquiry('Zeep', 'is cool') 

Для того, чтобы выяснить, что я должен был отправить и получить обзор услуг, доступных на конечной точке, я выполняется используя следующую команду в моем терминале:

python -mzeep 'veda/wsdl/vedascore-apply-v2-0-6.wsdl' 

результат команды выше большой текстовый файл, который я прилагается here. Теперь, когда у меня есть обзор услуг, я предполагаю, что я должен был создать соответствующую подпись вызова. Я также прошел через официальную документацию и мне удается выполнить код последующего:

client = Client(wsdl='veda/wsdl/vedascore-apply-v2-0-6.wsdl') 
    request_type = client.get_type('ns0:requestType') 
    client.service.submitEnquiry(request_type) 

Код выше не является даже близко к окончательному решению. Чтобы создать правильный звонок, я должен понять обзор доступных услуг, которые я изо всех сил стараюсь сделать. Изображение, приведенное ниже, является лишь частью описания. Если вы можете дать мне какие-то идеи, я более чем рад вас выслушать.

overview of the services

теплые пожелания.

Ronildo Брага Младший

ответ

0

Только в том случае, если вы столкнулись с той же проблемой, пожалуйста, смотрите ниже, как вы должны были обработать этот вызов

enquiry_header = { 
     'client-reference': 'my-ref-101', 
     'operator-id': 101, 
     'operator-name': 'Adam Hills', 
     'permission-type-code': 'XY', 
     'product-data-level-code': 'N', 
     'requested-scores': {'scorecard-id': ['VSA_2.0_XY_NR']} 
    } 

    enquiry_data = { 
     'individual': { 
      'current-name': { 
       'title': 'Mr', 
       'family-name': 'Hunt', 
       'first-given-name': 'Matthew', 
       'other-given-name': 'Eales' 
      }, 
      'addresses': { 
       'address': [{ 
        'type': 'C', 
        'unit-number': 12, 
        'street-number': 4, 
        'street-name': 'Huntsman', 
        'street-type': 'CIR', 
        'suburb': 'Pyrmont', 
        'state': tf.stateType('NSW'), 
        'postcode': 2011 
       }] 
      }, 
      'drivers-license': {'number': '758811G'}, 
      'gender-code': 'M', 
      'date-of-birth': '1970-01-26', 
      'employment': { 
       'employer': [employerType(name='DATA FISH PTD LTD', type='C')] 
      } 
     }, 
     'enquiry': { 
      'account-type-code': 'PR', 
      'enquiry-amount': tf.MoneyType(5000, 'AUD'), 
      'is-credit-review': False, 
      'relationship-code': 1 
     } 
    } 

    print(client.service.submitEnquiry(enquiry_header, enquiry_data))