Python zeep 可用服务概览

Python zeep overview of the services available

我一直在使用pythonzeep检查WSDL文档并生成相应的代码来使用wsdl文档中的服务和类型。

下面的代码是一个简短的例子。它部分起作用。问题是:这些参数并不是 web 服务正在等待的

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

热烈的问候。

小罗尼尔多·布拉加

以防万一,如果您遇到同样的问题,请参阅下文您应该如何制作此电话

    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))