Chunked encoding is not implemented correctly
---------------------------------------------

         Key: AXISCPP-930
         URL: http://issues.apache.org/jira/browse/AXISCPP-930
     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:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to