Author: pzf
Date: Fri Aug  3 05:24:00 2007
New Revision: 562429

URL: http://svn.apache.org/viewvc?view=rev&rev=562429
Log:
added StaX support

Modified:
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/PayloadHelper.java

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/PayloadHelper.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/PayloadHelper.java?view=diff&rev=562429&r1=562428&r2=562429
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/PayloadHelper.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/PayloadHelper.java
 Fri Aug  3 05:24:00 2007
@@ -5,12 +5,14 @@
 import javax.activation.DataHandler;
 
 import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamReader;
 
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMText;
+import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.axiom.soap.SOAP11Version;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -258,5 +260,38 @@
                        }
                }
                setMapPayload(mc.getEnvelope(), map);
+       }
+       
+       public static XMLStreamReader getStAXPayload(SOAPEnvelope envelope) {
+                
+               OMElement el = getXMLPayload(envelope);
+               if (el==null) {
+                       return null;
+               }
+               return el.getXMLStreamReader();
+       }
+       public static XMLStreamReader getStAXPayload(MessageContext mc) {
+               if (mc.getEnvelope() == null) {
+                       log.error("null envelope");
+                       return null;
+               }
+               return getStAXPayload(mc.getEnvelope());
+       }
+       public static void setStAXPayload(SOAPEnvelope envelope, 
XMLStreamReader streamReader) {
+               StAXOMBuilder builder = new 
StAXOMBuilder(envelope.getOMFactory(), streamReader);
+               OMElement el = builder.getDocumentElement();
+               setXMLPayload(envelope, el);
+       }
+       public static void setStAXPayload(MessageContext mc, XMLStreamReader 
streamReader) {
+               if (mc.getEnvelope() == null) {
+                       try {
+                               
mc.setEnvelope(OMAbstractFactory.getSOAP12Factory()
+                                               .createSOAPEnvelope());
+                       } catch (Exception e) {
+                               throw new SynapseException(e);
+                       }
+                       setStAXPayload(mc.getEnvelope(), streamReader);
+               }
+       
        }
 }



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

Reply via email to