You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I’m newbie on pysimplesoap
Following steps will reproduce the problem : -
1. I have installed latest pysimplesoap 1.12 from
https://pysimplesoap.googlecode.com/archive/1a76eb59cdf5921344c9ec667af7b25ff877
4e46.zip
2.I'm using python 3.2
3. I'm trying to test simple client and server code copied from
https://code.google.com/p/pysimplesoap/wiki/SoapServer
I have converted these codes to python3.2 compatible using 2to3 utility.
Expected output should be :-
POST http://localhost:8008/
SOAPAction: "http://localhost:8008/Adder"
Content-length: 329
Content-type: text/xml; charset="UTF-8"
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<Adder xmlns="http://example.com/sample.wsdl">
<a>1</a><b>2</b></Adder>
</soap:Body>
</soap:Envelope>
date: Tue, 20 Jul 2010 23:39:21 GMT
status: 200
content-type: text/xml
server: BaseHTTP/0.3 Python/2.5.4
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><AdderResponse
xmlns="http://example.com/sample.wsdl"><AddResult>3</AddResult></AdderResponse><
/soap:Body>
</soap:Envelope>
What do you see instead?
On server side i got following error prints :-
Starting server...
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/PySimpleSOAP-1.12-py3.2.egg/pysimplesoap/server.py", line 153, in dispatch
ns = NS_RX.findall(xml)
TypeError: can't use a string pattern on a bytes-like object
localhost - - [29/Apr/2014 16:50:21] "POST / HTTP/1.1" 500 -
On client Side I got following error prints :-
python3.2 pclient.py
INFO:pysimplesoap.client:POST http://localhost:8008/
DEBUG:pysimplesoap.client:SOAPAction: "http://localhost:8008/Adder"
Content-length: 344
Content-type: text/xml; charset="UTF-8"
DEBUG:pysimplesoap.client:b'<?xml version="1.0"
encoding="UTF-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\n<soap:Header/>\n<soap:Bo
dy>\n <Adder xmlns="http://example.com/sample.wsdl">\n
<a>1</a><b>2</b></Adder>\n</soap:Body>\n</soap:Envelope>'
DEBUG:pysimplesoap.client:Server: BaseHTTP/0.6 Python/3.2.3
Date: Tue, 29 Apr 2014 11:20:21 GMT
Content-type: text/xml
DEBUG:pysimplesoap.client:b'<?xml version="1.0"
encoding="UTF-8"?><soap:Envelope xmlns:ns0="http://example.com/sample.wsdl"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><soap:Fault><fa
ultcode>VersionMismatch.TypeError</faultcode><faultstring>can\'t use a string
pattern on a bytes-like
object</faultstring><detail/></soap:Fault></soap:Body></soap:Envelope>'
Traceback (most recent call last):
File "pclient.py", line 13, in <module>
response = client.Adder(a=1, b=2)
File "/usr/local/lib/python3.2/dist-packages/PySimpleSOAP-1.12-py3.2.egg/pysimplesoap/client.py", line 170, in <lambda>
return lambda self=self, *args, **kwargs: self.call(attr, *args, **kwargs)
File "/usr/local/lib/python3.2/dist-packages/PySimpleSOAP-1.12-py3.2.egg/pysimplesoap/client.py", line 253, in call
raise SoapFault(unicode(response.faultcode), unicode(response.faultstring))
pysimplesoap.client.SoapFault: VersionMismatch.TypeError: can't use a string
pattern on a bytes-like object
What version of the product are you using? On what operating system?
Im using pysimplesoap 1.12 and python 3.2 on ubuntu 12.04
Please provide any additional information below.
I did following changes as suggested by mariano reingart
"/usr/local/lib/python3.2/dist-packages/PySimpleSOAP-1.12-py3.2.egg/pysimplesoap
/server.py", line 456, in do_POST
request = self.rfile.read(int(self.headers.getheader('content-length')))
To
request = self.rfile.read(int(self.headers.get('content-length')))
Original issue reported on code.google.com by dipakyad...@gmail.com on 29 Apr 2014 at 11:31
The text was updated successfully, but these errors were encountered:
Hi, i'm able to reproduce this exact error using the latest version from master
branch found on github. I'm running python3.4. Could you please reopen this
issue ?
Please tell me if I can further help you.
Original comment by julien.t...@gmail.com on 6 Oct 2014 at 10:10
Hi,
I was having the same issue with version 1.16 and Python 3.4. Just in case
anyone missed this, I solved it by adding the decode("utf-8") method to the xml
string.
ns = NS_RX.findall(xml.decode("utf-8"))
Now my SoapServer is working just fine.
Original comment by sunset...@gmail.com on 13 Apr 2015 at 11:42
Original issue reported on code.google.com by
dipakyad...@gmail.com
on 29 Apr 2014 at 11:31The text was updated successfully, but these errors were encountered: