Spyne — как принять пары ключ-значение в конечной точке SOAP?

Я пытаюсь создать службу SOAP и хочу передать в конечную точку что-то вроде приведенного ниже.

    <payload>
        <initiation_date>2019-05-17T00:00:00.000</initiation_date>
        <facility_num>123</facility_num>
        <order_num>123</order_num>
    </payload>  

Чего я пытаюсь добиться, так это получить dict в моей конечной точке.

Моя конечная точка выглядит так:

class SoapService(ServiceBase):

    @rpc(Unicode, Unicode, Unicode, Array(Unicode), _returns=String)
        def soap_service(self, email, password, action, payload):

В моей конечной точке soap_service мне нужно что-то вроде:

payload = {
              'initiation_date': '2019-05-17T00:00:00.000',
              'facility_num': '123',
              'order_num': '123'
          }

Как мне этого добиться?

Буду очень признателен за помощь!

🤔 А знаете ли вы, что...
Python популярен в машинном обучении и искусственном интеллекте.


158
1

Ответ:

Решено

Прикинул, что мне просто нужно было изменить полезную нагрузку type в декораторе на AnyDict.

Это работает:

@rpc(Unicode, Unicode, Unicode, AnyDict, _returns=String)
        def soap_service(self, email, password, action, payload):

Спасибо!