스택큐힙리스트
파이썬용 SOAP 클라이언트 라이브러리는 어떤 것이 있으며, 그들의 문서는 어디에 있나요? [닫힘] 본문
현재 상황에서는이 질문이 우리의 Q & A 형식에 적합하지 않습니다. 답변이 사실, 참조 또는 전문 지식으로 지원되어야하지만이 질문은 논쟁, 논쟁, 투표 또는 확장 된 토론을 유도할 가능성이 높습니다.이 질문을 개선하고 가능한 경우 다시 열 수 있다면, #$*!$ & $& for guidance.
11년 전에 닫혔습니다.
지난해에 커뮤니티는 이 질문을 다시 열지 여부를 검토하고 닫힌 상태로 유지했습니다.
원래의 종료 이유가 해결되지 않았습니다.
저는 이전에 SOAP을 사용해본 적이 없으며 Python에도 얼마 지나지 않아 입문했습니다. 이 둘의 기술에 익숙해지기 위해 이를 시도하고 있습니다. 제가 SOAPlib를 설치했고, 또한 그들의 Client 문서를 읽어보려고 했지만 잘 이해하지 못했습니다. Python용 SOAP 클라이언트 라이브러리로 더 적합한 대안이 있을까요?
편집: 도움이 될 경우를 대비해, 저는 파이썬 2.6을 사용하고 있습니다.
답변 1
업데이트 (2016):
SOAP 클라이언트만 필요하다면, zeep 라는 잘 관리되는 라이브러리가 있습니다. Python 2와 3을 모두 지원합니다 :)
업데이트:
위에서 언급한 것 외에도, 제가 참조할 것은 항상 최신 버전의 모듈과 모두를 지원하며 권장하는 Python WebServices 페이지입니다. SOAP 및 기타 모든 웹서비스 유형에 대해 업데이트된 정보를 제공합니다.
아쉽게도 현재 시점에서는 최고의 Python SOAP 라이브러리가 없다고 생각합니다. 이용 가능한 대부분의 주류 라이브러리는 각각의 장단점을 가지고 있습니다.
오래된 도서관:
SOAPy: 이전에는 최고였지만 더 이상 유지되지 않습니다. Python 2.5+에서 작동하지 않음.
ZSI : 사용하기 매우 고통스럽고 개발 속도가 느립니다. SOAPpy 모듈이 있으며, 위의 SOAPy와 다릅니다.
최신 도서관:
SUDS : 매우 파이썬스러우며 WSDL 소비 SOAP 클라이언트를 쉽게 만들 수 있습니다. SOAP 서버를 만드는 것은 조금 더 어렵습니다. (이 패키지는 Python3에서 작동하지 않습니다. Python3용으로는 SUDS-py3를 참조하십시오)
SUDS-py3: SUDS의 Python3 버전
spyne : 서버 생성은 쉬우나, 클라이언트 생성은 조금 더 도전적입니다. 문서화가 다소 부족합니다.
ladon : 서버를 생성하는 것은 soaplib과 매우 비슷합니다 (데코레이터를 사용). Ladon은 추가 사용자 코드없이 SOAP보다 동시에 더 많은 인터페이스를 노출합니다.
pysimplesoap : 클라이언트와 서버 모두에 유용한 매우 가벼운 기술 - web2py 서버 통합을 포함하고 있어 web2py와 함께 제공됩니다.
SOAPpy : ZSI 링크에서 호스팅되는 버려진 SOAPpy와 구분되며, 이 버전은 2011년까지 실제로 유지 관리되었으나 이제는 버려졌다는 것 같습니다.
soaplib: 손쉽게 작성하고 호출할 수 있는 Python 라이브러리로 SOAP 웹 서비스를 작성합니다. Soaplib으로 작성된 웹 서비스는 간단하고 가벼우며 다른 SOAP 구현과 잘 작동합니다. 또한 WSGI 애플리케이션으로 배포할 수 있습니다.
osa: 빠르고 가벼운 사용이 쉬운 Python SOAP 클라이언트 라이브러리입니다.
위에 언급한 것 중에 나는 개인적으로 SUDS만 사용해 봤고, 매우 좋았다.
답변 2
파이썬을 사용하여 SOAP 클라이언트 라이브러리는 무엇이 있고, 이에 대한 문서는 어디에서 찾을 수 있을까요?SOAP(Simple Object Access Protocol)는 웹 서비스를 구현하기 위한 프로토콜입니다. 파이썬은 일반적으로 웹 서비스를 개발하기 위한 인기있는 언어 중 하나입니다. 그러므로 SOAP 클라이언트 라이브러리를 사용하여 파이썬 애플리케이션에서 웹 서비스를 손쉽게 호출할 수 있습니다.
파이썬에서는 다수의 SOAP 클라이언트 라이브러리가 존재합니다. 여기 몇 가지 라이브러리들을 소개하겠습니다.
1. Zeep : 이 라이브러리는 매우 신뢰할 수 있는 SOAP 클라이언트 라이브러리 중 하나입니다. 이 라이브러리는 WSDL을 구문 분석하고 SOAP 요청을 생성하는 데 사용됩니다. 사용 방법과 예제는 다음과 같습니다.
```
from zeep import Client
client = Client('http://www.soapclient.com/xml/soapresponder.wsdl')
result = client.service.Method1('Hello', 'World')
```
이 코드는 Zeep를 사용하여 `http://www.soapclient.com/xml/soapresponder.wsdl` 서비스의 `Method1` 메서드를 호출합니다. 그 결과, `'Hello World'` 문자열이 반환됩니다.
2. Suds : 이 라이브러리는 파이썬 2와 3 모두에서 사용할 수 있습니다. 이 라이브러리는 WSDL 파일을 구문 분석하고 SOAP 호출을 생성하는 데 사용됩니다. 사용 방법은 다음과 같습니다.
```
from suds.client import Client
client = Client('http://www.soapclient.com/xml/soapresponder.wsdl')
result = client.service.Method1('Hello', 'World')
```
이 코드는 Suds를 사용하여 `http://www.soapclient.com/xml/soapresponder.wsdl` 서비스의 `Method1` 메서드를 호출합니다. 그 결과, `'Hello World'` 문자열이 반환됩니다.
3. PySimpleSOAP : 이 라이브러리는 파이썬 2와 3 모두에서 사용할 수 있습니다. 이 라이브러리는 최소한의 설정으로 SOAP 서비스를 호출할 수 있습니다. 사용 방법은 다음과 같습니다.
```
from pysimplesoap.client import SoapClient
client = SoapClient(wsdl='http://www.soapclient.com/xml/soapresponder.wsdl')
result = client.Method1('Hello', 'World')
```
이 코드는 PySimpleSOAP을 사용하여 `http://www.soapclient.com/xml/soapresponder.wsdl` 서비스의 `Method1` 메서드를 호출합니다. 그 결과, `'Hello World'` 문자열이 반환됩니다.
이 외에도 많은 SOAP 클라이언트 라이브러리가 존재합니다. 자세한 정보와 문서를 확인하고 싶다면 아래 링크를 참조하시기 바랍니다.
- [Zeep](https://docs.python-zeep.org/)
- [Suds](https://suds-jurko.readthedocs.io/en/latest/)
- [PySimpleSOAP](https://pysimplesoap.readthedocs.io/en/latest/client.html)