Клиент Python SOAP - использовать SUDS или что-то другое?

В настоящее время я изучаю возможность реализации клиента, который будет использовать существующий обширный API управления SOAP.

Я рассмотрел различные реализации SOAP, такие как pysimplesoap и SUDS. Если у первого были проблемы с разбором WSDL из-за слишком большого количества рекурсий, то SUDS работает нормально (но медленно), и мне очень нравится модуль.

Однако, похоже, у SUDS есть несколько проблем, таких как высокое потребление памяти, скорость разбора WSDL и отсутствие поддержки некоторых атрибутов WSDL (например, атрибута choice).
Хотя многие люди активно публикуют отчеты об ошибках и исправления, не было ни одного релиза SUDS с 0.4 на 2010-09-15. Кроме того, вики и дорожная карта выглядят немного запущенными.

Для меня это выглядит так, как будто SUDS больше не поддерживается.

Итак, вот мои вопросы:

  1. Имеет ли смысл основывать более крупный проект на suds в качестве мыльного клиента?
  2. Существует ли форк suds, который уже реализует некоторые из исправлений, доступных в системе тикетов?
  3. Какие альтернативы доступны, которые занимают меньше памяти, просты в использовании и могут обрабатывать сложные большие WSDL файлы
  4. .

[Update November 2013]

Прошло более двух лет, и выяснилось, что оригинальный проект suds действительно мертв. С 2010 года не было выпущено ни одного нового релиза. В связи с этим многие люди начали форкать suds, а дистрибутивы, такие как Debian, развертывают исправленные версии оригинального пакета suds для устранения некоторых проблем.

Я могу порекомендовать активно поддерживаемый форк Юрко, который я успешно использовал. Он поддерживает python 3 и решает многие известные проблемы suds. Заметки о выпуске и баг-трекер доступны на Bitbucket Пакет также доступен на PyPI, поэтому его можно установить с помощью pip.

61
задан the Tin Man 11 August 2014 в 18:33
поделиться