Ответ 1
Когда речь заходит о поддержке SOAP, у Python, к сожалению, больше нет "включенных батарей". Поддержка на стороне клиента приемлема, но на стороне сервера вы в основном сами по себе.
Для начала вам может понадобиться следующее:
http://wiki.python.org/moin/WebServices
http://pywebsvcs.sourceforge.net/
http://doughellmann.com/2009/09/01/evaluating-tools-for-developing-with-soap-in-python.html
Если вы действительно хотите продолжить этот маршрут, кажется, что ZSI - это инструмент для использования, хотя у меня есть свои сомнения что он будет работать с последним дистрибутивом 2.x Python.
Используя Python 2.6.6, я попытался использовать ZSI 2.0 для создания веб-службы, начиная с WSDL. При генерации кода с wsdl2py
и wsdl2dispatch
были предупреждены некоторые предупреждения "модуль устарел", пришлось отдельно установить PyXML и hack my sys.path
просто для того, чтобы сначала разрешить его или я получил "модуль ext.reader не существует", а потом только разочарование "ZSI: EvaluateException Got None для nillable (False), minOccurs (1) элемент" ошибка на базовом "Привет мир!" WS с требуемым элементом.
Переключен на ZSI 2.1_a1, который больше не нужен PyXML и wsdl2py
делает все (что wsdl2dispatch
сделал для 2.0), но все же закончил тупик с помощью "ZSI: EvaluateException Got None for nillable (False) minOccurs (1)".
Опыт был не очень забавным, но мне было достаточно, чтобы составить мнение о том, что Python может предложить для веб-сервисов SOAP... это немного (и это было просто для базовых веб-сервисов, WS- * specs). YMMV!
РЕДАКТИРОВАТЬ: Недавно я столкнулся с этим вопросом SO, и хотя он был ориентирован на решение клиента, он также упоминает несколько библиотек для создание SOAP-сервисов.