Сообщение Python для службы мыла неопределенного поведения - PullRequest
0 голосов
/ 01 марта 2011

У меня есть следующее в Python 2.6, который отлично работает.

webservice = httplib.HTTP("www.racai.ro:80")
webservice.putrequest("POST", "/webservices/TextProcessing.asmx?WSDL")  
webservice.putheader("Host", "www.racai.ro")
webservice.putheader("User-Agent", "Python")
webservice.putheader("Content-type", "text/xml; charset=\"UTF-8\"")
webservice.putheader("Content-length", "%d" % len(f))
webservice.endheaders()
webservice.send(f)

Теперь у меня есть следующее в Python 3.1, на котором я получаю неверный запрос (неверное имя заголовка).

tstring = template.format(text)   
webservice = http.client.HTTPConnection("www.racai.ro:80")
webservice.putrequest("POST", "/webservices/TextProcessing.asmx?WSDL")
webservice.putheader("Host", "www.racai.ro")
webservice.putheader("User-Agent", "Python")
webservice.putheader("Content-type", "text/xml; charset=\"UTF-8\"")
webservice.putheader("Content-length", "%d" % len(tstring))
webservice.endheaders()
tstring = tstring.encode()
webservice.send(tstring)

Что я делаю не так?

1 Ответ

0 голосов
/ 20 октября 2014

Это мое решение (на Python 3.3):

def send_soap_request(soap_message):
   webservice = HTTPConnection('www.example.host:80')
   request_headers = {"Host": 'www.example.host:80',
                   "Content-type": 'text/xml;charset="UTF-8"',
                   "SOAPAction": '""', }
   webservice.request("POST", '/messager/example_service/sendMessage', soap_message.encode('utf8'), request_headers)
   webservice.getresponse()
   webservice.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...