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);
}