You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2012/12/14 13:32:42 UTC
svn commit: r1421820 - in /cxf/branches/2.6.x-fixes: ./
api/src/main/java/org/apache/cxf/interceptor/Fault.java
rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java
Author: ay
Date: Fri Dec 14 12:32:41 2012
New Revision: 1421820
URL: http://svn.apache.org/viewvc?rev=1421820&view=rev
Log:
Merged revisions 1421414 via svn merge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1421414 | ay | 2012-12-13 19:18:20 +0100 (Thu, 13 Dec 2012) | 1 line
[CXF-4684] SOAPFault message improvement in CXF
........
Modified:
cxf/branches/2.6.x-fixes/ (props changed)
cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/interceptor/Fault.java
cxf/branches/2.6.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java
Propchange: cxf/branches/2.6.x-fixes/
('svn:mergeinfo' removed)
Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/interceptor/Fault.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/interceptor/Fault.java?rev=1421820&r1=1421819&r2=1421820&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/interceptor/Fault.java (original)
+++ cxf/branches/2.6.x-fixes/api/src/main/java/org/apache/cxf/interceptor/Fault.java Fri Dec 14 12:32:41 2012
@@ -85,7 +85,7 @@ public class Fault extends UncheckedExce
if (super.getMessage() != null) {
message = super.getMessage();
} else {
- message = t == null ? null : t.getMessage();
+ message = getMessage(t);
}
code = FAULT_CODE_SERVER;
}
@@ -107,7 +107,7 @@ public class Fault extends UncheckedExce
if (super.getMessage() != null) {
message = super.getMessage();
} else {
- message = t == null ? null : t.getMessage();
+ message = getMessage(t);
}
code = fc;
}
@@ -185,4 +185,13 @@ public class Fault extends UncheckedExce
public void setStatusCode(int statusCode) {
this.statusCode = statusCode;
}
+
+ /**
+ * Extracts the effective message value from the specified exception object
+ * @param t
+ * @return
+ */
+ private static String getMessage(Throwable t) {
+ return t == null ? null : t.getMessage() != null ? t.getMessage() : t.toString();
+ }
}
Modified: cxf/branches/2.6.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java?rev=1421820&r1=1421819&r2=1421820&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java (original)
+++ cxf/branches/2.6.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java Fri Dec 14 12:32:41 2012
@@ -36,6 +36,7 @@ import org.apache.cxf.binding.soap.Soap1
import org.apache.cxf.binding.soap.Soap12;
import org.apache.cxf.binding.soap.SoapFault;
import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.binding.soap.SoapVersion;
import org.apache.cxf.binding.soap.interceptor.Soap11FaultOutInterceptor.Soap11FaultOutInterceptorInternal;
import org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor.Soap12FaultOutInterceptorInternal;
import org.apache.cxf.binding.soap.saaj.SAAJInInterceptor;
@@ -146,23 +147,27 @@ public class SoapFaultSerializerTest ext
public void testFaultToSoapFault() throws Exception {
Exception ex = new Exception();
Fault fault = new Fault(ex, Fault.FAULT_CODE_CLIENT);
-
- SoapFault sf = SoapFault.createFault(fault, Soap11.getInstance());
- assertEquals(Soap11.getInstance().getSender(), sf.getFaultCode());
-
- sf = SoapFault.createFault(fault, Soap12.getInstance());
- assertEquals(Soap12.getInstance().getSender(), sf.getFaultCode());
+ verifyFaultToSoapFault(fault, ex.toString(), true, Soap11.getInstance());
+ verifyFaultToSoapFault(fault, ex.toString(), true, Soap12.getInstance());
fault = new Fault(ex, Fault.FAULT_CODE_SERVER);
- sf = SoapFault.createFault(fault, Soap11.getInstance());
- assertEquals(Soap11.getInstance().getReceiver(), sf.getFaultCode());
-
- sf = SoapFault.createFault(fault, Soap12.getInstance());
- assertEquals(Soap12.getInstance().getReceiver(), sf.getFaultCode());
+ verifyFaultToSoapFault(fault, ex.toString(), false, Soap11.getInstance());
+ verifyFaultToSoapFault(fault, ex.toString(), false, Soap12.getInstance());
+ fault.setMessage("fault-one");
+ verifyFaultToSoapFault(fault, "fault-one", false, Soap11.getInstance());
+
+ ex = new Exception("fault-two");
+ fault = new Fault(ex, Fault.FAULT_CODE_CLIENT);
+ verifyFaultToSoapFault(fault, "fault-two", true, Soap11.getInstance());
}
-
+ private void verifyFaultToSoapFault(Fault fault, String msg, boolean sender, SoapVersion v) {
+ SoapFault sf = SoapFault.createFault(fault, v);
+ assertEquals(sender ? v.getSender() : v.getReceiver(), sf.getFaultCode());
+ assertEquals(msg, sf.getMessage());
+ }
+
@Test
public void testCXF1864() throws Exception {