ws-axis-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From veit...@apache.org
Subject svn commit: r823960 - /webservices/axis2/trunk/java/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
Date Sat, 10 Oct 2009 21:54:19 GMT
Author: veithen
Date: Sat Oct 10 21:54:18 2009
New Revision: 823960

URL: http://svn.apache.org/viewvc?rev=823960&view=rev
Log:
AxisServlet wraps the ServletOutputStream in a BufferedOutputStream but doesn't care to flush
the BufferedOutputStream, and thus relies on the message formatter to do so. This however
is not a requirement specified by the MessageFormatter interface and is also a difference
with respect to other transports that manage the output stream properly.

This patch changes AxisServlet to properly flush any buffered data and solves the issue described
in [1].

[1] http://markmail.org/message/dcmi7x4uu5ox6zlp

Modified:
    webservices/axis2/trunk/java/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java

Modified: webservices/axis2/trunk/java/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java?rev=823960&r1=823959&r2=823960&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
(original)
+++ webservices/axis2/trunk/java/modules/transport/http/src/org/apache/axis2/transport/http/AxisServlet.java
Sat Oct 10 21:54:18 2009
@@ -150,10 +150,12 @@
                     url = request.getRequestURI();
                 }
                 
+                OutputStream bufferedOut = new BufferedOutputStream(out);
+                
                 InvocationResponse pi = HTTPTransportUtils.
                         processHTTPPostRequest(msgContext,
                                 new BufferedInputStream(request.getInputStream()),
-                                new BufferedOutputStream(out),
+                                bufferedOut,
                                 contentType,
                                 request.getHeader(HTTPConstants.HEADER_SOAP_ACTION),
                                 url);
@@ -179,6 +181,10 @@
                 						RequestResponseTransportStatus.SIGNALLED)) {
                     response.setStatus(HttpServletResponse.SC_ACCEPTED);
                 }
+                
+                // Make sure that no data remains in the BufferedOutputStream even if the
message
+                // formatter doesn't call flush
+                bufferedOut.flush();
 
             } catch (AxisFault e) {
                 setResponseState(msgContext, response);



Mime
View raw message