axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Hawkins (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Created: (AXISCPP-868) "Connection: Close" ignored
Date Thu, 10 Nov 2005 13:45:02 GMT
"Connection: Close" ignored
---------------------------

         Key: AXISCPP-868
         URL: http://issues.apache.org/jira/browse/AXISCPP-868
     Project: Axis-C++
        Type: Bug
  Components: Transport (Client)  
    Versions: 1.5 Final    
    Reporter: John Hawkins


Test using a getQuote call to the stub in a loop, with the stub being created
(new) every 103 times round the loop, then delete and new again. 
The getQuote service is an ordinary web service.

On the first getQuote request after being newed, the stub appears to keep the
TCP/IP connection open for subsequent requests. After 100 requests on the same
connection, The server closes the connection, and indicates this with a line in the
HTTP header of the response thus:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Language: en-GB
Server: WebSphere Application Server/6.0
Content-Length: 430
Connection: Close
Date: Mon, 07 Nov 2005 17:51:06 GMT
...<then the normal response>

The stub does not react to this close request and attempts to send further
requests down the now closed connection which fail and cause an AxisException
with an inconsistent variety of codes and messages.

For instance on Windows we get:

 test001     101 2005/11/07 18:13:23     100       1         0  Bad: Loop - AxisException
 test001     101:  HTTPTransportException:Input streaming error while getting data Channel
error 10053 while reading dat
a: 'An established connection was aborted by the software in your host machine.
'

 test001     101 Exception Code: 58
 test001     101 Continuing
 test001     102 2005/11/07 18:13:23     100       2         0  Bad: Loop - AxisException
 test001     102:  HTTPTransportException:Unknown Transport Exception No valid socket open
 test001     102 Exception Code: 56
 test001     102 Continuing
 test001     103 2005/11/07 18:13:23     101       2         0 Good: X1455.500  1455.500
...
 test001     203 2005/11/07 18:13:23     200       3         0  Bad: Loop - AxisException
 test001     203:  HTTPTransportException:Input streaming error while getting data Channel
error 10054 while reading dat
a: 'An existing connection was forcibly closed by the remote host.
'

 test001     203 Exception Code: 58
 test001     203 Continuing
 test001     204 2005/11/07 18:13:23     200       4         0  Bad: Loop - AxisException
 test001     204:  HTTPTransportException:Unknown Transport Exception No valid socket open
 test001     204 Exception Code: 56
 test001     204 Continuing
 test001     205 2005/11/07 18:13:23     200       5         0  Bad: Loop - AxisException
 test001     205:  HTTPTransportException:Unknown Transport Exception No valid socket open
 test001     205 Exception Code: 56
 test001     205 Continuing
...

On Linux when the stub tries to use the closed connection, the client is just killed with
a 
'BROKEN PIPE' message, bypassing any C++ exception handling. See EPIPE in /usr/include/asm/errno.h.

I think we should re-open the connection when this happens.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message