Как указать код ошибки xmlrpc в коде сервера для python

xmlrpclib Python — это удобный способ связи с другим компьютером через Интернет, обеспечивающий прямой доступ к классам, функциям и многому другому. В случае ошибки на стороне сервера эта ошибка сообщается на стороне клиента как неисправность, состоящая из текстового сообщения и кода неисправности.

Вопрос, который у меня есть, заключается в том, как можно контролировать эти атрибуты на стороне сервера, т.е. как явно установить faultString и faultCode для отправки клиенту. Документация кажется очень скудной в этих деталях, и любая помощь приветствуется.

Спасибо,

Алекс


person Alex    schedule 03.10.2012    source источник


Ответы (1)


После некоторого копания я нашел ответ. Чтобы «сбросить» ошибку на сервере xmlrpc, можно сделать просто

import xmlrpclib

# some code
if not ok:
  # throw fault:
  raise xmlrpclib.Fault(11, "some message")

который вызывает ошибку с кодом ошибки 11 и строкой ошибки «какое-то сообщение» на стороне клиента. Это можно переопределить для реализации собственных классов ошибок.

person Alex    schedule 03.10.2012