You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2009/03/19 23:55:44 UTC

svn commit: r756246 - /synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java

Author: veithen
Date: Thu Mar 19 22:55:43 2009
New Revision: 756246

URL: http://svn.apache.org/viewvc?rev=756246&view=rev
Log:
Fixed a NullPointerException in ScriptMessageContext#setPayloadXML that occurred when the current SOAP body was empty.

Modified:
    synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java

Modified: synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java?rev=756246&r1=756245&r2=756246&view=diff
==============================================================================
--- synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java (original)
+++ synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java Thu Mar 19 22:55:43 2009
@@ -27,6 +27,7 @@
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
+import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
@@ -77,9 +78,15 @@
      */
 
     public void setPayloadXML(Object payload) throws OMException, ScriptException {
-        OMElement firstChild = mc.getEnvelope().getBody().getFirstElement();
-        firstChild.insertSiblingAfter(xmlHelper.toOMElement(payload));
-        firstChild.detach();
+        SOAPBody body = mc.getEnvelope().getBody();
+        OMElement firstChild = body.getFirstElement();
+        OMElement omElement = xmlHelper.toOMElement(payload);
+        if (firstChild == null) {
+            body.addChild(omElement);
+        } else {
+            firstChild.insertSiblingAfter(omElement);
+            firstChild.detach();
+        }
     }
 
     /**