You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2009/11/03 10:11:11 UTC

svn commit: r832355 - in /cxf/trunk/rt: bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestinationOutputStream.java

Author: ffang
Date: Tue Nov  3 09:11:11 2009
New Revision: 832355

URL: http://svn.apache.org/viewvc?rev=832355&view=rev
Log:
[CXF-2517]Exception shouldn't be considered as JBI ERROR,should use JBI FAULT instead

Modified:
    cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
    cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestinationOutputStream.java

Modified: cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java?rev=832355&r1=832354&r2=832355&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java (original)
+++ cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java Tue Nov  3 09:11:11 2009
@@ -61,7 +61,9 @@
             StaxUtils.writeStartElement(writer, prefix, JBIFault.JBI_FAULT_ROOT, 
                                         JBIConstants.NS_JBI_BINDING);
             if (!jbiFault.hasDetails()) {
-                writer.writeEmptyElement("fault");
+                Element faultString = DOMUtils.createDocument().createElement("fault");
+                faultString.setTextContent(jbiFault.getCause().getMessage());
+                StaxUtils.writeNode(faultString, writer, true);   
             } else {
                 Element detail = jbiFault.getDetail();
                 Element elem = DOMUtils.getFirstElement(detail);

Modified: cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestinationOutputStream.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestinationOutputStream.java?rev=832355&r1=832354&r2=832355&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestinationOutputStream.java (original)
+++ cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestinationOutputStream.java Tue Nov  3 09:11:11 2009
@@ -96,10 +96,13 @@
                 if (inMessage.getExchange().getOutFaultMessage() != null) {
                     org.apache.cxf.interceptor.Fault f = (org.apache.cxf.interceptor.Fault) 
                             inMessage.getContent(Exception.class);
-                    if (f.hasDetails()) {
-                        Fault fault = xchng.createFault();
+                    if (!(f.getCause() instanceof Error)) {
+                        Fault fault = xchng.createFault(); 
                         fault.setContent(new DOMSource(doc));
                         xchng.setFault(fault);
+                        if (!f.hasDetails()) {
+                            xchng.setProperty("faultstring", f.getMessage());
+                        }
                     } else {
                         xchng.setError(f);
                     }