You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by pz...@apache.org on 2007/08/03 14:24:05 UTC
svn commit: r562429 -
/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/PayloadHelper.java
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: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org