On 02:34 pm, fabian.rothfu...@googlemail.com wrote:
>Hey again!
>Having the setup doing quite well so far, I just ran into a problem 
>that I
>do not know how to debug:
>
>Testcase `setUp()` starts a server that subclasses
>`twisted.web.resource.Resource` , as it's going to be a lightweight 
>SOAP
>server, responding with hard-coded xml strings.
>Purpose is to check the request for validity.
>
>The Testcase's `test_*()` function initiates a client request by using 
>the
>suds module. I now discovered that the server process started in 
>`setUp()`
>hangs as long as the suds connection did not finish.

It looks like you're using `deferLater` as though it turns the SUDS 
client from a blocking, synchronous API into a non-blocking, 
asynchronous API.  This is not what `deferLater` does.  `deferLater` 
just schedules a function call to happen at a later time.

Your SUDS *client* is blocking the process from doing anything.  You 
need a non-blocking, asynchronous SUDS client.  You could use SUDS in a 
thread (if it is thread-safe) or you could find a different client.

Jean-Paul
>Which is a deadlock, as it cannot finish unless the server sent the
>response.
>
>When trying to connect to the server via telnet, I do not get any 
>response
>unless the suds connection is lost.
>
>Snippets:
>TestCase: http://dpaste.org/pmg6Y/
>TestServer: http://dpaste.org/NOLb8/
>Client: http://dpaste.org/2wxIV/
>
>Thanks for any help!
>Fabian

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to