2017-02-15 5 views
2

저는 파이썬 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)) 
에게 공예했는데 방법은 아래를 참조하시기 바랍니다 그냥 경우