svn commit: r1034754 - in /axis/axis2/java/core/trunk/modules/kernel: src/org/apache/axis2/transport/http/SOAPMessageFormatter.java src/org/apache/axis2/util/Utils.java test/org/apache/axis2/misc/Misc

2010-11-13 Thread veithen
Author: veithen
Date: Sat Nov 13 13:29:30 2010
New Revision: 1034754

URL: http://svn.apache.org/viewvc?rev=1034754&view=rev
Log:
AXIS2-4828: Avoid buffering (and the unnecessary byte stream -> char stream -> 
byte stream conversion) of the SOAP body in SOAPMessageFormatter. The message 
is now streamed directly to the output stream.

Modified:

axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/transport/http/SOAPMessageFormatter.java

axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/util/Utils.java

axis/axis2/java/core/trunk/modules/kernel/test/org/apache/axis2/misc/MiscTest.java

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/transport/http/SOAPMessageFormatter.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/transport/http/SOAPMessageFormatter.java?rev=1034754&r1=1034753&r2=1034754&view=diff
==
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/transport/http/SOAPMessageFormatter.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/transport/http/SOAPMessageFormatter.java
 Sat Nov 13 13:29:30 2010
@@ -19,14 +19,14 @@
 
 package org.apache.axis2.transport.http;
 
+import org.apache.axiom.attachments.Attachments;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.impl.MIMEOutputUtils;
+import org.apache.axiom.om.impl.OMMultipartWriter;
 import org.apache.axiom.util.UIDGenerator;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.description.Parameter;
 import org.apache.axis2.transport.MessageFormatter;
 import org.apache.axis2.transport.http.util.URLTemplatingUtil;
 import org.apache.axis2.util.JavaUtils;
@@ -37,8 +37,8 @@ import org.apache.commons.logging.LogFac
 import javax.xml.stream.FactoryConfigurationError;
 import javax.xml.stream.XMLStreamException;
 import java.io.ByteArrayOutputStream;
+import java.io.IOException;
 import java.io.OutputStream;
-import java.io.StringWriter;
 import java.net.URL;
 
 public class SOAPMessageFormatter implements MessageFormatter {
@@ -53,7 +53,6 @@ public class SOAPMessageFormatter implem
 log.debug("  isOptimized=" + format.isOptimized());
 log.debug("  isDoingSWA=" + format.isDoingSWA());
 }
-OMElement element = msgCtxt.getEnvelope();
 
 if (msgCtxt.isDoingMTOM()) {   
 int optimizedThreshold = Utils.getMtomThreshold(msgCtxt);   
@@ -66,23 +65,9 @@ public class SOAPMessageFormatter implem
 }
 try {
 if (!(format.isOptimized()) && format.isDoingSWA()) {
-// Write the SOAPBody to an output stream
-// (We prefer an OutputStream because it is faster)
-if (log.isDebugEnabled()) {
-log.debug("Doing SWA and the format is not optimized.  
Buffer the SOAPBody in an OutputStream");
-}
-ByteArrayOutputStream bufferedSOAPBodyBAOS = new 
ByteArrayOutputStream();
-if (preserve) {
-element.serialize(bufferedSOAPBodyBAOS, format);
-} else {
-element.serializeAndConsume(bufferedSOAPBodyBAOS, format);
-}
-// Convert the ByteArrayOutputStream to StreamWriter so that 
SWA can 
-// be added.
-String bufferedSOAPBody = 
Utils.BAOS2String(bufferedSOAPBodyBAOS, format.getCharSetEncoding());
-StringWriter bufferedSOAPBodySW = 
Utils.String2StringWriter(bufferedSOAPBody);
-writeSwAMessage(msgCtxt, bufferedSOAPBodySW, out, format);
+writeSwAMessage(msgCtxt, out, format, preserve);
 } else {
+OMElement element = msgCtxt.getEnvelope();
 if (preserve) {
 element.serialize(out, format);
 } else {
@@ -110,17 +95,7 @@ public class SOAPMessageFormatter implem
 ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
 if (!format.isOptimized()) {
 if (format.isDoingSWA()) {
-if (log.isDebugEnabled()) {
-log.debug("Doing SWA and the format is not optimized.  
Buffer the SOAPBody in an OutputStream");
-}
-// Why are we creating a new OMOutputFormat
-OMOutputFormat format2 = new OMOutputFormat();
-format2.setCharSetEncoding(format.getCharSetEncoding());
-ByteArrayOutputStream bufferedSOAPBodyBAOS = new 
ByteArrayOutputStream();
-element.serializeAndConsume(bufferedSOAPBodyBAOS, format2);
-String bufferedSOAPBody = 
Uti

svn commit: r1034851 - /axis/axis2/java/transports/trunk/pom.xml

2010-11-13 Thread veithen
Author: veithen
Date: Sat Nov 13 19:00:39 2010
New Revision: 1034851

URL: http://svn.apache.org/viewvc?rev=1034851&view=rev
Log:
Don't manage the Woodstox version and keep whatever version is used by Axis2.

Modified:
axis/axis2/java/transports/trunk/pom.xml

Modified: axis/axis2/java/transports/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/pom.xml?rev=1034851&r1=1034850&r2=1034851&view=diff
==
--- axis/axis2/java/transports/trunk/pom.xml (original)
+++ axis/axis2/java/transports/trunk/pom.xml Sat Nov 13 19:00:39 2010
@@ -303,11 +303,6 @@
 4.0-beta1
 
 
-org.codehaus.woodstox
-wstx-asl
-3.2.4
-
-
 commons-logging
 commons-logging
 1.1.1




svn commit: r1034853 - in /axis/axis2/java/core/trunk/modules: adb/pom.xml kernel/pom.xml saaj/pom.xml

2010-11-13 Thread veithen
Author: veithen
Date: Sat Nov 13 19:57:54 2010
New Revision: 1034853

URL: http://svn.apache.org/viewvc?rev=1034853&view=rev
Log:
Optimized Maven dependencies: there is no reason for axis2-kernel to depend on 
axiom-dom.

Modified:
axis/axis2/java/core/trunk/modules/adb/pom.xml
axis/axis2/java/core/trunk/modules/kernel/pom.xml
axis/axis2/java/core/trunk/modules/saaj/pom.xml

Modified: axis/axis2/java/core/trunk/modules/adb/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/pom.xml?rev=1034853&r1=1034852&r2=1034853&view=diff
==
--- axis/axis2/java/core/trunk/modules/adb/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/adb/pom.xml Sat Nov 13 19:57:54 2010
@@ -51,6 +51,11 @@
 xmlunit
 test
 
+
+org.apache.ws.commons.axiom
+axiom-dom
+test
+
 
 
 

Modified: axis/axis2/java/core/trunk/modules/kernel/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/pom.xml?rev=1034853&r1=1034852&r2=1034853&view=diff
==
--- axis/axis2/java/core/trunk/modules/kernel/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/kernel/pom.xml Sat Nov 13 19:57:54 2010
@@ -41,10 +41,6 @@
 axiom-impl
 
 
-org.apache.ws.commons.axiom
-axiom-dom
-
-
 org.apache.geronimo.specs
 geronimo-ws-metadata_2.0_spec
 

Modified: axis/axis2/java/core/trunk/modules/saaj/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/pom.xml?rev=1034853&r1=1034852&r2=1034853&view=diff
==
--- axis/axis2/java/core/trunk/modules/saaj/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/saaj/pom.xml Sat Nov 13 19:57:54 2010
@@ -41,6 +41,10 @@
 geronimo-saaj_1.3_spec
 
 
+org.apache.ws.commons.axiom
+axiom-dom
+
+
 org.apache.axis2
 axis2-adb
 ${project.version}