OK,it works, but if you do it by
socket.setdefaulttimeout(self.options.timeout) than it is very nasty and
error prone
Again, /timeout/ arg was not added to urllib2 open() methods until python 2.6.
The proper code should look stk like:
def __open(self, u2request):
#socket.setdefaulttimeout(self.options.timeout)
if self.urlopener is None:
return u2.urlopen(u2request,self.options.timeout)
else:
return self.urlopener.open(u2request,self.options.timeout)
Jeff Ortel wrote:
> The socket timeout was added as a suds option in 0.3.7
> (
https://fedorahosted.org/suds/wiki/Documentation#OPTIONS). Try:
>
> client = Client(url, timeout=500)
>
>
> On 11/20/2009 09:44 AM, Jerzy Orlowski wrote:
>> changing the http.py file made it:
>>
>> def __open(self, u2request):
>> socket.setdefaulttimeout(self.options.timeout)
>> if self.urlopener is None:
>> return u2.urlopen(u2request)
>> else:
>> return self.urlopener.open(u2request,timeout=500)
>>
>>
>>
>> Could you, please, add
>> Client.settimout()
>>
>> For the the next release?
>>
>>
>>
>> Matt C wrote:
>>> I'm not sure if this will work for you, it may be worth a shot - see
>>> the 'missing manual' for urllib2, which shows you a way to set
global
>>> socket options:
>>> #########################
>>> import socket
>>> import urllib2
>>>
>>> # timeout in seconds
>>> timeout = 10
>>> socket.setdefaulttimeout(timeout)
>>>
>>> # this call to urllib2.urlopen now uses the default timeout
>>> # we have set in the socket module
>>> req = urllib2.Request('http://www.voidspace.org.uk')
>>> response = urllib2.urlopen(req)
>>> ########################
>>>
>>> Something like this in your Suds script may help, and is worth a shot.
>>>
>>> Please post back if this works, and good luck!
>>> -Matt
>>>
>>> On Fri, Nov 20, 2009 at 10:10 AM, Jerzy Orlowski
>>> <jerzyo(a)genesilico.pl> wrote:
>>>> Hi
>>>>
>>>> My service takes ~5 minutes time. When I call it, I get:
>>>>
>>>> Traceback (most recent call last):
>>>> File "test_soap_global2.py", line 2151, in <module>
>>>> result=client.service.soap_create_model(INPUT_PDB, INPUT_ALIGNMENT,
>>>> TEMP_CHAIN_NAME, MODEL_CHAIN_NAME)
>>>> File "build/bdist.linux-x86_64/egg/suds/client.py", line 537,
in
>>>> __call__
>>>> File "build/bdist.linux-x86_64/egg/suds/client.py", line 597,
in
>>>> invoke
>>>> File "build/bdist.linux-x86_64/egg/suds/client.py", line 622,
in send
>>>> File "build/bdist.linux-x86_64/egg/suds/transport/http.py",
line
>>>> 85, in
>>>> send
>>>> File "build/bdist.linux-x86_64/egg/suds/transport/http.py",
line
>>>> 107, in
>>>> __open
>>>> File "/usr/lib/python2.6/urllib2.py", line 389, in open
>>>> response = self._open(req, data)
>>>> File "/usr/lib/python2.6/urllib2.py", line 407, in _open
>>>> '_open', req)
>>>> File "/usr/lib/python2.6/urllib2.py", line 367, in _call_chain
>>>> result = func(*args)
>>>> File "/usr/lib/python2.6/urllib2.py", line 1146, in http_open
>>>> return self.do_open(httplib.HTTPConnection, req)
>>>> File "/usr/lib/python2.6/urllib2.py", line 1121, in do_open
>>>> raise URLError(err)
>>>> urllib2.URLError: <urlopen error timed out>
>>>>
>>>>
>>>> Jerzy Orlowski
>>>>
>>>> _______________________________________________
>>>> fedora-suds-list mailing list
>>>> fedora-suds-list(a)redhat.com
>>>>
https://www.redhat.com/mailman/listinfo/fedora-suds-list
>>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> fedora-suds-list mailing list
>> fedora-suds-list(a)redhat.com
>>
https://www.redhat.com/mailman/listinfo/fedora-suds-list
>