Правильное форматирование для сервера pysimplesoap

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

Вот моя функция:

def getMetadata(id, index, count):
print "id =", id
response = {'index': 0,
            'count': 1,
            'total': 1}
return response

И моя функция регистрации:

dispatcher.register_function('getMetadata', getMetadata,
                         returns={'getMetadataResult': {'index': int, 'count': int, 'total': int}},
                         args={'id': str, 'index': int, 'count': int})

Я думаю, у меня проблема с сопоставлением моих "возвратов" в register_function с ответом, который я встроил в getMetadata.

Для справки вот ожидаемый ответ SOAP, который я пытаюсь построить:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getMetadataResponse xmlns="<removed>">
      <getMetadataResult>
        <index>0</index>
        <count>3</count>
        <total>3</total>
      </getMetadataResult>
    </getMetadataResponse>
  </soap:Body>
</soap:Envelope>

0 ответов

Другие вопросы по тегам