You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Sebastian Brandt (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2012/04/11 11:48:25 UTC

[jira] [Issue Comment Edited] (AXIS2C-1568) In keep alive mode, client reuses a connection even if the connection has already closed.

    [ https://issues.apache.org/jira/browse/AXIS2C-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13251432#comment-13251432 ] 

Sebastian Brandt edited comment on AXIS2C-1568 at 4/11/12 9:46 AM:
-------------------------------------------------------------------

Bump. 
Unfortunately, it is impossible to "configure" the Keep-Alive option - it is documented in axis2.xml, but the flag is not read.
Only way to use axis2c for me is to patch the code to always set keep-alive to false.

src\core\transport\http\sender\http_transport_sender.c:627    
    AXIS2_INTF_TO_IMPL(transport_sender)->keep_alive = AXIS2_FALSE;
(also http_transport_sender.c:118  and http_sender.c:217, but those do not seem to be the important ones).

Note: the "Keep-Alive" flag is read from msg_ctx in http_sender.c:392, but never written into it, esp. never read from axis2.xml.

Unfortunately, this seems to result in the file descriptor being closed after reading the first block; if the message received is larger than a single block of 16k, 
the reading fails in util/src/stream.c:534 (axutil_stream_read_socket) with strerror==invalid socket.

As Axis2/c 1.6.0 with guththila does not support unicode chars (even though it gives UTF-8 as encoding), I have to use 1.7.0/svn.

Sebastian
                
      was (Author: csb-ac):
    Bump. 
Unfortunately, it is impossible to "configure" the Keep-Alive option - it is documented in axis2.xml, but the flag is not read.
Only way to use axis2c for me is to patch the code to always set keep-alive to false.

src\core\transport\http\sender\http_transport_sender.c:627    
    AXIS2_INTF_TO_IMPL(transport_sender)->keep_alive = AXIS2_FALSE;
(also http_transport_sender.c:118  and http_sender.c:217, but those do not seem to be the important ones).

Note: the "Keep-Alive" flag is read from msg_ctx in http_sender.c:392, but never written into it, esp. never read from axis2.xml.

Sebastian
                  
> In keep alive mode, client reuses a connection even if the connection has already closed.
> -----------------------------------------------------------------------------------------
>
>                 Key: AXIS2C-1568
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1568
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: transport/http
>    Affects Versions: 1.7.0
>         Environment: no libcurl
>            Reporter: Akira Suzuki
>            Priority: Minor
>
> In keep alive mode, client keeps and reuses connection.
> If client reuses it in short time, it works fine. If not, server may close the connection because of timeout and it causes an error on client side when client try to reuse the connection.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: c-dev-help@axis.apache.org