[ 
https://issues.apache.org/jira/browse/CXF-3300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guido Reiff updated CXF-3300:
-----------------------------

    Description: 
Large binary data is streamed to server using MTOM and stored to an Oracle 11g 
Database using its JDBC-Driver. When the client stops uploading (tested by kill 
of process). In the development environment using a current OpenSuse Version 
CXF throws org.apache.cxf.interceptor.Fault out of 
org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(line 490) 
caused by "IOException: Invalid chunk header". As it is a RuntimeException the 
database transaction will be rolled back. Thats the expected behavior.

The same szenario in target environment using identical (copied) JBoss with 
application code fails as there occures an ArrayIndexOutOfBoundsException at 
org.apache.tomcat.util.buf.ByteChunk.substract(line 429) ... 
org.apache.cxf.attachement.MimeBodyPartInputStream.read(line 97) ...
org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(line 488). As 
it is not a RuntimeException the transaction is not rolled back.

So my questions are: 
1) How can there be a difference in the two environments? 
2) It's a bug, that only IOExceptions are thrown as 
org.apache.cxf.interceptor.Fault at AbstractHTTPDestination(line 490), isn't 
it? (the code of that method has not changed in Version 2.3.1)  


  was:
Large binary date is streamed to server using MTOM and stored to an Oracle 11g 
Database using its JDBC-Driver. When the client stops uploading (tested by kill 
of process). In the development environment using a current OpenSuse Version 
CXF throws org.apache.cxf.interceptor.Fault out of 
org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(line 490) 
caused by "IOException: Invalid chunk header". As it is a RuntimeException the 
database transaction will be rolled back. Thats the expected behavior.

The same szenario in target environment using identical (copied) JBoss with 
application code fails as there occures an ArrayIndexOutOfBoundsException at 
org.apache.tomcat.util.buf.ByteChunk.substract(line 429) ... 
org.apache.cxf.attachement.MimeBodyPartInputStream.read(line 97) ...
org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(line 488). As 
it is not a RuntimeException the transaction is not rolled back.

So my questions are: 
1) How can there be a difference in the two environments? 
2) It's a but, that only IOExceptions are thrown as 
org.apache.cxf.interceptor.Fault at AbstractHTTPDestination(line 490), isn't 
it? (the code of that method has not changed in Version 2.3.1)  



> Missing Fault at kill of streaming client, instead 
> ArrayIndexOutOfBoundsExcetpion occurs
> ----------------------------------------------------------------------------------------
>
>                 Key: CXF-3300
>                 URL: https://issues.apache.org/jira/browse/CXF-3300
>             Project: CXF
>          Issue Type: Bug
>          Components: Core, Transports
>    Affects Versions: 2.2.9
>         Environment: JBossAS 5.1 GA on OpenSuse/Suse Linux Enterprise Server, 
> JDK 1.6.0_22 (64-Bit), CXF within jbossws-cxf-3.3.1.GA
>            Reporter: Guido Reiff
>
> Large binary data is streamed to server using MTOM and stored to an Oracle 
> 11g Database using its JDBC-Driver. When the client stops uploading (tested 
> by kill of process). In the development environment using a current OpenSuse 
> Version CXF throws org.apache.cxf.interceptor.Fault out of 
> org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(line 490) 
> caused by "IOException: Invalid chunk header". As it is a RuntimeException 
> the database transaction will be rolled back. Thats the expected behavior.
> The same szenario in target environment using identical (copied) JBoss with 
> application code fails as there occures an ArrayIndexOutOfBoundsException at 
> org.apache.tomcat.util.buf.ByteChunk.substract(line 429) ... 
> org.apache.cxf.attachement.MimeBodyPartInputStream.read(line 97) ...
> org.apache.cxf.transport.http.AbstractHTTPDestination.cacheInput(line 488). 
> As it is not a RuntimeException the transaction is not rolled back.
> So my questions are: 
> 1) How can there be a difference in the two environments? 
> 2) It's a bug, that only IOExceptions are thrown as 
> org.apache.cxf.interceptor.Fault at AbstractHTTPDestination(line 490), isn't 
> it? (the code of that method has not changed in Version 2.3.1)  

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to