Hi, Given a Dispatch that's been invoked asynchronously (or in another thread, manually) -- is it possible to get at the underlying HttpURLConnection that it's using?
I can see how you get to the Conduit but then I get a bit stuck. Here's the reason I'm asking: I'm having trouble with a misbehaving remote SOAP service that sends regular XML comments in the response stream while it's 'thinking', i.e.: <!--...processing--> ... but sometimes goes wrong and never returns the proper results. This means that my client sits waiting and taking up resources for hours. The httpClientPolicy.setReceiveTimeout() method doesn't help in this case, as it sets the read timeout of the connection -- and the javadocs for URLConnection say: "A non-zero value specifies the timeout when reading from Input stream when a connection is established to a resource. If the timeout expires before there is data available for read, a java.net.SocketTimeoutException is raised." In this particular case, because of the comments sent by the service, there's data to read, so the service never times out. What I'd like to do instead is have a timer that forcibly disconnects after a particular timeout. However, it doesn't respond to interrupting the thread, so I need to get to the connection, close its streams and disconnect. Otherwise, it will just sit there, taking up a thread pool slot, some memory and a socket, until the service at the other end finally gives up. And -- strictly speaking -- I have no guarantee that it ever will. Any ideas? Thanks, Andrew. -- View this message in context: http://old.nabble.com/How-to-get-HttpURLConnection-of-Dispatch-client-tp27834705p27834705.html Sent from the cxf-user mailing list archive at Nabble.com.
