2010-07-13 9 views
6

이 질문은 StackOverflow에서 매우 인기가 있지만, 여기와 Google에서 시간을 보낸 후에도 Python에서 SOAP 소비를 수행하는 가장 적절한 방법이 무엇인지 구체적인 답을 찾지 못했습니다. 3.SOAP 클라이언트 for Python 3

나는 Does a Python 3 SOAP client module exist?을 보았는데, 이것이 구식이되어 현재이 문제에 대한 해결책이 제시되었을 수도 있습니다.

나는 몇 가지 아이디어에 대해 생각했다 :

  1. 사용 2to3 스크립트를 포트에 기존의 일부 라이브러리를 파이썬 3 (비누, 비눗물 등)로.
  2. 기술 (Py3k + Jython, Py3k + Python 2.6 등)을 혼합하여 외부 모듈로드
  3. 하드 코드로 작성 WSDL 파일의 정의에 해당하는 파이썬 클래스 (밀집 결합/높은 유지 관리 포함) .
  4. Python 3.0에서 소프트웨어를 작성하고 execnet package을 통해 "python2.6-only"모듈 함수를 호출하십시오. Python 2.6을 기계에 설치하고 Python3.0으로 작성된 소프트웨어를 고정 바이너리로 설치해야합니다.

아이디어가 있으십니까?

미리 감사드립니다.

답변

1

제안 된 2to3 포트를 사용해보십시오. 많은 것들을 위해, 그것은 꽤 잘 작동합니다. 비눗물 같은 것을 변환하는 것은 아직도 하루나 이틀의 가치가있을 것입니다.

+0

이 솔루션이 효과가 있다고 생각하지 않습니다. 2to3은 인쇄문, 예외, 절대 가져 오기 등과 같은 간단한 번역을하기 위해 고안되었습니다. 그렇지 않으면 py3k 용 SOAPy 클라이언트가 릴리스 될 것입니다. 너는 동의하지 않니? –

+0

@ 에두아르도 : 나는 그렇지 않습니다. 필자는 Python 모듈 (복잡한 모듈 포함)을 보았습니다. 공식적인 전환 메커니즘은 코드베이스에서 2to3 작동을 보장하는 것입니다. 2to3 (http://docs.python.org/library/2to3.html)의 설명서에는 "표준 라이브러리에 거의 모든 코드를 처리 할 수있는 다양한 해결 도구 세트가 포함되어 있습니다"라는 내용이 명시되어 있습니다. –

+0

2to3은 많은 코드베이스에서 잘 작동합니다. 그것이 무너지는 장소는 저자들이 너무 영리하여 엣지 경우의 이상한 사용을 시도한 곳입니다. 코드가 단순하고 파이썬적인 스타일로 작성된 경우 2to3은 대개 작업의 상당 부분을 담당합니다. –