You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2007/03/06 00:19:07 UTC

svn commit: r514914 - /webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java

Author: dims
Date: Mon Mar  5 15:19:07 2007
New Revision: 514914

URL: http://svn.apache.org/viewvc?view=rev&rev=514914
Log:
special case for StreamSource, we need not run it thru the Identity Transformer

Modified:
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java?view=diff&rev=514914&r1=514913&r2=514914
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java Mon Mar  5 15:19:07 2007
@@ -38,8 +38,10 @@
 import javax.xml.transform.TransformerFactoryConfigurationError;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
 
 import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.attachments.utils.IOUtils;
 import org.apache.axiom.om.util.StAXUtils;
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP12Constants;
@@ -337,13 +339,18 @@
         this.source = source;
 		try {
 	        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-	        Result result = new StreamResult(baos);
 
-	        Transformer xformer = TransformerFactory.newInstance().newTransformer();
-	        xformer.transform(source, result);
-	        ByteArrayInputStream is = new ByteArrayInputStream(baos.toByteArray());
-	        
-			XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+            InputStream is;
+            if (source instanceof StreamSource) {
+                is = ((StreamSource) source).getInputStream();
+            } else {
+                Result result = new StreamResult(baos);
+                Transformer xformer = TransformerFactory.newInstance().newTransformer();
+                xformer.transform(source, result);
+                is = new ByteArrayInputStream(baos.toByteArray());
+            }
+
+            XMLInputFactory inputFactory = XMLInputFactory.newInstance();
 			XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
 			
 			StAXSOAPModelBuilder builder1 = null;



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org