2011-10-27 3 views
0

메신저에 대한 클라이언트를 빌드하고 파이썬에서 suds를 사용하려고합니다. 이 사이트의 튜토리얼 을 사용했습니다 : http://www.jansipke.nl/python-soap-client-with-suds. 그것의 내 자신의 서면 Webservice 및 WSDL과 함께,하지만 wsdl 파일과 함께있어. wsdl 파일은 soapUI에서 작동하며 요청을 보내고 답변을 얻을 수 있습니다. 그래서 문제는 비눗물이 wsdl 파일을 어떻게 파싱하는지 생각합니다. 다음 오류가 발생합니다.SUDS python connection

urllib2.URLError: <urlopen error [Errno -2] Name or service not known> 

어떤 문제를 해결할 수 있습니까? 더 자세한 정보가 필요하면 질문하십시오. 고맙습니다!

답변

2

우리가 제공 한 오류는 WSDL에 액세스하는 데 사용하는 URL이 올바르지 않은 것 같습니다. 코드를 조금 더 보여줄 수 있습니까? 예를 들어 클라이언트 설치 및 WSDL에 대한 URL 이것은 다른 사람들이 실제로 당신을 도울 수 있습니다.

올리

0
# SUDS is primarily built for Python 2.6/7 (Lightweight SOAP client) 
# SUDS does not work properly with other version, absolutely no support for 3.x 
# Test your code with Python 2.7.12 (I am using) 

from suds.client import Client 
from suds.sax.text import Raw 

# Use your tested URL same format with '?wsdl', Check once in SOAP-UI, below is dummy 
# Make sure to use same Method name in below function 'client.service.MethodName' 
url = 'http://localhost:8080/your/path/MethodName?wsdl' 

#Use your Request XML, below is dummy, format xml=Raw('xml_text') 
xml = Raw('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:diag=" </soapenv:Body></soapenv:Envelope>') 

def GetResCode(url, xml): 
    client = Client(url) 
    xml_response = (client.service.MethodName(__inject={'msg':xml})) 
    return xml_response 

print(GetResCode(url,xml)) 
관련 문제