[jbossws-commits] JBossWS SVN: r14473 - in stack/native/branches/jbossws-native-3.1.2/modules: testsuite and 1 other directory.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Mon Jun 6 08:54:39 EDT 2011


Author: richard.opalka at jboss.com
Date: 2011-06-06 08:54:39 -0400 (Mon, 06 Jun 2011)
New Revision: 14473

Modified:
   stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/HTTPMessageImpl.java
   stack/native/branches/jbossws-native-3.1.2/modules/testsuite/test-excludes-jboss510.txt
Log:
[JBPAPP-6593] always cache stream before connection is closed

Modified: stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/HTTPMessageImpl.java
===================================================================
--- stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/HTTPMessageImpl.java	2011-06-06 10:32:10 UTC (rev 14472)
+++ stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/HTTPMessageImpl.java	2011-06-06 12:54:39 UTC (rev 14473)
@@ -21,6 +21,8 @@
  */
 package org.jboss.ws.core;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -32,8 +34,10 @@
 import javax.xml.transform.stream.StreamSource;
 
 import org.jboss.util.NotImplementedException;
+import org.jboss.ws.WSException;
 import org.jboss.ws.core.soap.XMLFragment;
 import org.jboss.ws.core.soap.attachment.MimeConstants;
+import org.jboss.wsf.common.IOUtils;
 
 /**
  * A generic HTTP message 
@@ -49,9 +53,24 @@
    public HTTPMessageImpl(MimeHeaders mimeHeaders, InputStream inputStream)
    {
       this.mimeHeaders = mimeHeaders;
-      this.xmlFragment = new XMLFragment(new StreamSource(inputStream));
+      this.xmlFragment = new XMLFragment(new StreamSource(cache(inputStream)));
    }
 
+   private static InputStream cache(final InputStream is)
+   {
+      try
+      {
+         ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
+         IOUtils.copyStream(baos, is);
+         byte[] bytes = baos.toByteArray();
+         return new ByteArrayInputStream(bytes);
+      }
+      catch (IOException e)
+      {
+         throw new WSException(e);
+      }
+   }
+
    public HTTPMessageImpl(Source source)
    {
       this.mimeHeaders = new MimeHeaders();

Modified: stack/native/branches/jbossws-native-3.1.2/modules/testsuite/test-excludes-jboss510.txt
===================================================================
--- stack/native/branches/jbossws-native-3.1.2/modules/testsuite/test-excludes-jboss510.txt	2011-06-06 10:32:10 UTC (rev 14472)
+++ stack/native/branches/jbossws-native-3.1.2/modules/testsuite/test-excludes-jboss510.txt	2011-06-06 12:54:39 UTC (rev 14473)
@@ -7,6 +7,3 @@
 # [JBWS-2217] Fix BPEL jaxrpc samples
 org/jboss/test/ws/jaxrpc/samples/wsbpel/hello/*TestCase.*
 
-# [JBPAPP-6593]:java.io.IOException: stream is closed issue in jboss-remoting-2.5.4.SP1
-org/jboss/test/ws/jaxws/jbws1807/JBWS1807TestCase.*
-org/jboss/test/ws/jaxws/samples/httpbinding/*TestCase.*



More information about the jbossws-commits mailing list