Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Я никогда раньше не использовал SOAP, и я как 9X_pythonista бы новичок в Python. Я делаю это, чтобы 9X_pythonista познакомиться с обеими технологиями. Я установил 9X_soap-client SOAPlib и пытался прочитать их документацию по 9X_python-shell Client, но не очень хорошо ее понимаю. Могу ли 9X_py я изучить что-нибудь еще, что больше подходит 9X_py для использования в качестве клиентской 9X_python библиотеки SOAP для Python?
Изменить: на 9X_python всякий случай я использую Python 2.6.
- Любой, кто посещает этот вопрос, проголосует за его повторное открытие, что ...
Ответ #1
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Обновление (2016 г.):
Если вам нужен только клиент SOAP, есть 9X_python-interpreter хорошо поддерживаемая библиотека под названием 9X_soap-client zeep. Он поддерживает Python 2 и 3 :)
Обновление:
В дополнение 9X_soap к тому, что упомянуто выше, я буду ссылаться 9X_py на страницу Python WebServices, которая всегда актуальна и 9X_pythonic содержит все активно поддерживаемые и рекомендуемые 9X_python-shell модули для SOAP и всех других типов веб-сервисов.
К 9X_soap-client сожалению, на данный момент я не думаю, что 9X_soap существует «лучшая» библиотека Python SOAP. У 9X_py каждого из основных доступных есть свои 9X_pythonic плюсы и минусы.
Старые библиотеки:
-
SOAPy: был "лучшим", но 9X_python-shell больше не поддерживается. Не работает на 9X_python Python 2.5+
-
ZSI: очень болезненно использовать, и 9X_py разработка идет медленно. Имеет модуль под 9X_python-interpreter названием «SOAPpy», который отличается от 9X_pythonic SOAPy (см. Выше).
«Новые» библиотеки:
-
SUDS: очень 9X_soap питонический и простой в создании клиентов 9X_soap SOAP, использующих WSDL. Создание серверов 9X_python-interpreter SOAP немного сложнее. (Этот пакет не работает 9X_soap с Python3. Для Python3 см. SUDS-py3)
-
SUDS-py3: версия 9X_soap-client SUDS для Python3
-
spyne: Создавать серверы легко, а 9X_soap-client создавать клиентов - немного сложнее. Документация 9X_pythonista несколько отсутствует.
-
ladon: Создание серверов 9X_pythonista очень похоже на soaplib (с использованием 9X_pythonic декоратора). Ladon одновременно предоставляет 9X_py больше интерфейсов, чем SOAP, без необходимости 9X_py в дополнительном пользовательском коде.
-
pysimplesoap: очень 9X_python легкий, но полезный как для клиента, так 9X_python и для сервера - включает интеграцию сервера 9X_py web2py, которая поставляется с web2py.
- SOAPpy: В отличие от заброшенного SOAPpy, размещенного по ссылке ZSI выше, эта версия фактически поддерживалась до 2011 года, а теперь кажется, что она тоже заброшена.
- soaplib: простая в использовании библиотека Python для написания и вызова веб-сервисов мыла. Веб-службы, написанные с помощью soaplib, просты, легки, хорошо работают с другими реализациями SOAP и могут быть развернуты как приложения WSGI.
- osa: быстрая / тонкая, простая в использовании клиентская библиотека SOAP python.
Из 9X_pythonista вышеперечисленного я лично использовал только 9X_pythonista SUDS, и мне это очень понравилось.
- Сегодня я начал использовать SUDS только для получения данных. ...
Ответ #2
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Я последовал советам других ответов на этот 9X_soap-client вопрос и попробовал SUDS. После употребления 9X_soap-client «в гневе» я должен согласиться: SUDS - это 9X_pythonic очень приятно! Настоятельно рекомендуется!
У 9X_python-shell меня возникли проблемы с вызовом веб-служб 9X_pythonista на основе HTTPS из-за прокси. На момент 9X_python написания это затронуло всех клиентов веб-служб 9X_python-shell Python, которые используют urllib2
, поэтому я задокументирую 9X_soap-client решение здесь.
Модуль urllib2
, поставляемый с python 9X_soap-client 2.6.2 и ниже, не будет выдавать CONNECT
прокси-серверу 9X_python-shell для сеансов HTTPS-over-HTTP-proxy. Это приводит 9X_pythonista к длительному таймауту или, если вам повезет, к 9X_pythonic ошибке, которая выглядит следующим образом:
abort: error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Это 9X_pythonista было issue1424152 в системе отслеживания ошибок Python. К 9X_python отчету об ошибке прилагаются патчи, которые 9X_python-interpreter исправят это в Python 2.x и Python 3.x. Проблема уже устранена.
- @paulm: попробуйте https://bitbucke ...
Ответ #3
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
У меня был хороший опыт работы с SUDS https://fedorahosted.org/suds
Использовал 9X_soap их TestSuite в качестве документации.
- SUDS - это круто! действительно проста в использовании, хорошая документация, отличный матери ...
Ответ #4
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
SUDS - это правильный выбор, без сомнения.
9X_soap-client
- Я обнаружил, что SUDS поддерживает ...
Ответ #5
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Просто предупреждение для людей, просматривающих 9X_python-shell SUDS, пока этот запрос не будет разрешен, SUDS 9X_python-interpreter не поддерживает тег «выбор» в WSDL:
https://fedorahosted.org/suds/ticket/342
см .: suds and choice tag
Ответ #6
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
SUDS прост в использовании, но повторное 9X_soap использование не гарантируется. Если вы 9X_python-shell сохраняете объект WSDL Client() в многопоточном 9X_python-shell приложении для повышения производительности, возникает 9X_python-shell определенный риск. Решением этого риска 9X_py является метод clone(), который вызывает 9X_soap неисправимую ошибку Python 5508, которая, кажется, выводит 9X_soap-client сообщение, но на самом деле не вызывает 9X_pythonista исключения. Может сбивать с толку, но это 9X_soap-client работает. Это по-прежнему лучший клиент 9X_python-shell SOAP для Python.
Ответ #7
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Мы выпустили новую библиотеку: PySimpleSOAP, которая 9X_python-interpreter обеспечивает поддержку простого и функционального 9X_pythonista клиента / сервера. Его цели: простота использования 9X_pythonista и гибкость (не требуются классы, автогенерируемый 9X_soap-client код или xml), самоанализ и генерация WSDL, соответствие 9X_py стандарту WS-I, совместимость (включая Java 9X_pythonista AXIS, .NET и Jboss WS). Он включен в Web2Py 9X_python-shell для обеспечения полнофункциональных решений 9X_python-interpreter (дополняющих другие поддерживаемые протоколы, такие 9X_soap как XML_RPC, JSON, AMF-RPC и т. Д.).
Если 9X_soap кто-то изучает SOAP или хочет изучить его, я 9X_python-interpreter думаю, что это хороший выбор для начала.
Ответ #8
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Я считаю, что soaplib отказался от своего 9X_python SOAP-клиента ("отправителя") в 9X_pythonic пользу мыльной пены. На данный момент soaplib 9X_soap-client ориентирован на то, чтобы быть независимым 9X_py от веб-фреймворка сервером SOAP («получателем»). В 9X_pythonista настоящее время soaplib находится в активной 9X_pythonista разработке и обычно обсуждается в списке 9X_python-interpreter рассылки Python SOAP:
http://mail.python.org/mailman/listinfo/soap
Ответ #9
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
В моем заключении мы имеем следующее:
Клиентская 9X_soap-client часть мыла:
использовать только Suds-jurko (обновлено в 2016 г.) suds в хорошем состоянии и обновляется.
ОБНОВЛЕНИЕ 06/2017: библиотека suds-jurko не обновляется 9X_python-interpreter и apparently abandoned,
Я тестировал библиотеку zeep, но у меня были 9X_soap ограничения по токенам, к настоящему времени 9X_py просто поддерживаю UsernameToken, я сообщаю 9X_python о bug для создания токена отметки времени, а 9X_soap-client автор обновляет код, чтобы исправить это.
Zeep 9X_pythonic запускается хорошо и имеет хороший documentation, поэтому 9X_soap-client я недавно перенес свой код с suds на zeep 9X_py и работает нормально.
Сторона мыльного сервера:
У нас есть TGWS, soaplib 9X_python-interpreter (pysimplesoap не тестировался). ИМХО, использование 9X_python и помощь soaplib должны быть выбором.
С 9X_python-interpreter уважением,
Ответ #10
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Как я и предложил here, я рекомендую вам использовать 9X_soap-client собственные. На самом деле это не так уж 9X_python-shell сложно, и я подозреваю, что по этой причине 9X_pythonic нет лучших библиотек Python SOAP.
Ответ #11
Ответ на вопрос: Какие клиентские библиотеки SOAP существуют для Python и где к ним документация?
Пена очень хороша. Я попробовал SOAPpy, но 9X_pythonista не смог заставить его работать так, как 9X_python-interpreter мне было нужно, тогда как пена работала 9X_soap почти сразу.
-
4
-
6
-
3
-
2
-
4
-
7
-
2
-
3
-
1
-
3
-
3
-
1
-
3
-
1
-
6
-
1
-
2
-
1
-
1
-
3
-
1
-
1
-
7
-
3
-
9
-
3
-
1
-
4
-
2
-
2
-
1
-
3
-
10
-
1
-
2
-
2
-
4
-
1
-
1
-
1
-
3
-
3
-
3
-
2
-
1
-
2
-
4
-
9
-
11
-
5