Author: asankha
Date: Fri Nov  2 01:59:57 2007
New Revision: 591272

URL: http://svn.apache.org/viewvc?rev=591272&view=rev
Log:
fix support for POX files with VFS transport

Modified:
    
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java

Modified: 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java?rev=591272&r1=591271&r2=591272&view=diff
==============================================================================
--- 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
 Fri Nov  2 01:59:57 2007
@@ -30,10 +30,7 @@
 import org.apache.axis2.context.MessageContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axiom.soap.*;
 import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
 import org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory;
 import org.apache.axiom.om.util.StAXUtils;
@@ -43,6 +40,7 @@
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMText;
+import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.attachments.ByteArrayDataSource;
 
 import javax.xml.namespace.QName;
@@ -182,7 +180,13 @@
                     envelope = (SOAPEnvelope) builder.getDocumentElement();
                 }
             }
-        } catch (XMLStreamException ignore) {}
+        } catch (Exception ignore) {
+            try {
+                in.close();
+            } catch (IOException e) {}
+            in = getInputStream(message);
+        }
+
 
         // handle SOAP when content type is missing, or any other POX, binary 
or text payload
         if (builder == null) {
@@ -190,7 +194,7 @@
             SOAPFactory soapFactory = new SOAP11Factory();
             try {
                 builder = new 
StAXOMBuilder(StAXUtils.createXMLStreamReader(in, charSetEnc));
-                builder.setOMBuilderFactory(soapFactory);
+                builder.setOMBuilderFactory(OMAbstractFactory.getOMFactory());
                 String ns = 
builder.getDocumentElement().getNamespace().getNamespaceURI();
 
                 if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(ns)) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to