2009-11-17 12 views
1

파이썬과 SOAP에 문제가 있습니다. 파이썬에서 SOAP을 기반으로 웹 서비스를 만들어야한다. 저는 soaplib, suds, ZSI 같은 라이브러리를 사용할 수 있다고 읽었습니다. 문서 (http://trac.optio.webfactional.com/wiki/HelloWorld)에서와 같이 soaplib을 사용하여 Hello World 웹 서비스를 만들었습니다. 문제는 soaplib 라이브러리가 아닌 다른 웹 서비스를위한 클라이언트를 만들 수 없다는 것입니다. 파이썬에서 예를 들어 suds 라이브러리를 사용하여 클라이언트 응용 프로그램을 만들고 싶었습니다.파이썬 SOAP 서버/클라이언트

Python에서 soaplib로 만든 SOAP 웹 서비스를 사용하는 Python 응용 프로그램 (예 : suds 라이브러리)을 관리 했습니까?

+0

예, suds (및 다른 많은 클라이언트)에서 소비 할 수있는 soaplib을 사용하여 웹 서비스를 만들었습니다. 어떤 문제에 대해 더 많은 정보가 없으면 다른 말을하기가 어렵습니다. – robince

+0

듣기 좋은데 :) 아래는 비눗물을 사용하는 코드 조각이며 내 문제는 내가 어떤 URL을 사용해야하는지 모른다는 것입니다. 503 snd 504와 같은 응답이 있습니다. 에서 suds.client 가져 오기 클라이언트 클라이언트 = 클라이언트 (URL) 인쇄 클라이언트 –

답변

2

서비스를 어떻게 제공합니까? soaplib은 웹 서버에서 서비스해야하는 WSGI 객체를 생성합니다. helloworld 예제를 따르고 있다면 CherryPy (pure python 웹 서버)를 사용하여 자신의 컴퓨터에서 서비스를 호스트합니다. 예제에서 포트는 7789입니다 (그러나 원하는대로 사용할 수 있습니다). 따라서 예제를 사용한다면 먼저 체리 피를 실행하는 스크립트를 시작해야합니다. 이것은 실행 상태를 유지하고 프롬프트로 돌아 가지 않아야합니다. 실행중인 경우 http://localhost:7789/wsdl에서 서비스에 액세스 할 수 있어야합니다. 웹 브라우저에 해당 주소를 입력하여 작동하는지 확인할 수 있습니다. Soaplib은 URL이 wsdl로 끝나는 한 wsdl을 반환합니다. 따라서 사실 http://localhost:7789/anythingherewsdl을 수행 할 수 있습니다.

+0

매우 도움이됩니다! 당신의 도움을 주셔서 대단히 감사합니다. –

+0

우선, 도와 주셔서 감사합니다. 왜 그런지는 모르겠지만 제 경우에는 문제가 웹 프록시와 관련이있는 것처럼 보입니다. 아래 제시된 코드를 사용했을 때 나는 HTTP 에러 503을 얻었습니다 : suds.client import 클라이언트 클라이언트 = 클라이언트 ("http : // localhost : 7789/wsdl") 인쇄 클라이언트에서 웹 서비스를 끌 때 그 간단한 코드가 작동했습니다 성공적으로! 바라건대,이 [문제]에 대한 해결책을 제시하는 웹 페이지를 발견했습니다 (http://blog.finalhaven.org/2009/01/making-suds-not-use-proxy.html). –

+0

현재 사용중인 운영 체제 나 프록시 구성 방법을 말하지는 않지만 대부분의 경우 프록시 구성 화면에 "프록시 없음 :"또는 "프록시 무시 :"와 같은 설정이 있습니다. 거기에 localhost를 넣으십시오. Localhost는 자신의 컴퓨터를 가리키는 특수 루프백 주소이므로 프록시를 통해 입력하면 프록시가있는 컴퓨터를 가리 킵니다. – robince

1

soaplib 이외의 것으로 만들어진 SOAP 웹 서비스를 사용 (소비) 할 수 있는지 묻는 중입니까? 그건 물론 가능합니다. 수은은 이것에 좋은 생각입니다.

+0

괜찮 았지만 어떻게해야할지 모르겠다. 나는 비눗물로 soapplib에 의해 만들어진 비누 웹 서비스를 소비하는 법을 보여주는 튜토리얼 또는 간단한 예제를 찾고 있었지만 찾지 못했습니다. –

+0

시작을 위해 https://fedorahosted.org/suds/wiki/Documentation을보십시오. '기본 사용법'아래의 항목이 도움이 될 수 있습니다. –

+0

@jlafay [작은] (http://stackoverflow.com/privileges/edit) 특히 "작고 사소한 편집은 권장하지 않습니다." –