axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Dufel (JIRA)" <>
Subject [jira] Commented: (AXISCPP-930) Chunked encoding is not implemented correctly
Date Wed, 22 Feb 2006 17:20:44 GMT
    [ ] 

Michael Dufel commented on AXISCPP-930:

Chunking fails not after chunk 1, but after chunk 2.
I can't imagine that this would be something you could easily test 
for.  I did not discover the problem when the client was directly  
communicating with the server; it was only after the client/server  
communication started going through an intermediate proxy server. 
I'll try to think of a way I can demonstrate the issue in a way that 
can be tested for in a regression suite.

> Chunked encoding is not implemented correctly
> ---------------------------------------------
>          Key: AXISCPP-930
>          URL:
>      Project: Axis-C++
>         Type: Bug
>   Components: Transport (axis2), Transport (axis3)
>     Versions: 1.5 Final
>  Environment: Solaris 8
>     Reporter: Michael Dufel

> <Rant>The chunked transfer encoding is broken and results in a 'peekNextChar' error
 similar to the one described in AXISCPP-555. I was forced to re-write HTTPTransport::getBytes()
from almost the ground up because of the unreadableness of the code. Nested do/while loops???
Come on ... Yes I know, I am a code snob. </Rant> 
> I believe the problem in the original code was reflected in the case that the buffer
from the channel contains data in the following form:
> <some continued data>CRLF
> <chunk length 1>CRLF
> <some data 1><CRLF>
> <chunk length 2>CRLF
> <some data 2>CRLF
> .
> .
> .
> <chunk length n>CRLF
> <some data n>
> everything after <chunk length 2> was being dropped by the transport library. The
transport library sends a 'TRANSPORT FINISHED' response and the xml parser is only given a
partial message to deal with. This causes the 'peekNextChar' error. 
> Yes, I know that solaris 8 is not supported in Axis 1.5, but this is a protocol issue,
not a platform related issue. Again, since I had to re-write the getBytes method, I can't
offer a code snippet which will 'magically' fix this problem. 

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message