SMX4-1314  CXF NMR transport throws NPE when it handles the fault message

git-svn-id: https://svn.apache.org/repos/asf/servicemix/smx4/features/trunk@1417303 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java b/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
index bf34832..5af4a74 100644
--- a/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
+++ b/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
@@ -88,11 +88,11 @@
                 LOG.fine(new org.apache.cxf.common.i18n.Message("CREATE.NORMALIZED.MESSAGE", LOG).toString());
                 if (inMessage.getExchange().getOutFaultMessage() != null) {
                     org.apache.cxf.interceptor.Fault f = (org.apache.cxf.interceptor.Fault) inMessage.getContent(Exception.class);
-                    if (f.hasDetails()) {
-                        xchng.getFault().setBody(new DOMSource(doc));
-                    } else {
+                    if (!f.hasDetails()) {
                         xchng.setError(f);
                     }
+                    // As the fault is already marshalled by the fault handler
+                    xchng.getFault().setBody(new DOMSource(doc));
                 } else {
                     //copy attachments
                     if (outMessage != null && outMessage.getAttachments() != null) {