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();
+ }
}
/**