You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2011/08/15 08:31:10 UTC
svn commit: r1157722 - in /cxf/branches/2.3.x-fixes: ./
rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/
systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/
Author: ningjiang
Date: Mon Aug 15 06:31:10 2011
New Revision: 1157722
URL: http://svn.apache.org/viewvc?rev=1157722&view=rev
Log:
Merged revisions 1157701 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.4.x-fixes
................
r1157701 | ningjiang | 2011-08-15 10:44:22 +0800 (Mon, 15 Aug 2011) | 13 lines
Merged revisions 1157121,1157699 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1157121 | ningjiang | 2011-08-12 22:24:47 +0800 (Fri, 12 Aug 2011) | 1 line
CXF-3736 Send the cause of exception stack trace
........
r1157699 | ningjiang | 2011-08-15 10:28:51 +0800 (Mon, 15 Aug 2011) | 1 line
CXF-3736 Fixed the systest test error
........
................
Modified:
cxf/branches/2.3.x-fixes/ (props changed)
cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/GreeterImpl11.java
cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap11ClientServerTest.java
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Aug 15 06:31:10 2011
@@ -0,0 +1,2 @@
+/cxf/branches/2.4.x-fixes:1157701
+/cxf/trunk:1157121,1157699
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java?rev=1157722&r1=1157721&r2=1157722&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java (original)
+++ cxf/branches/2.3.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java Mon Aug 15 06:31:10 2011
@@ -77,9 +77,16 @@ public abstract class AbstractSoapInterc
.getContextualProperty(org.apache.cxf.message.Message.FAULT_STACKTRACE_ENABLED);
if (config != null && Boolean.valueOf(config).booleanValue() && fault.getCause() != null) {
StringBuilder sb = new StringBuilder();
- for (StackTraceElement ste : fault.getCause().getStackTrace()) {
- sb.append(ste.getClassName() + "!" + ste.getMethodName() + "!" + ste.getFileName() + "!"
+ Throwable throwable = fault.getCause();
+ while (throwable != null) {
+ for (StackTraceElement ste : fault.getCause().getStackTrace()) {
+ sb.append(ste.getClassName() + "!" + ste.getMethodName() + "!" + ste.getFileName() + "!"
+ ste.getLineNumber() + "\n");
+ }
+ throwable = throwable.getCause();
+ if (throwable != null) {
+ sb.append("Caused by:" + throwable.getClass() + ":" + throwable.getMessage() + " ");
+ }
}
Element detail = fault.getDetail();
String soapNamespace = message.getVersion().getNamespace();
Modified: cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/GreeterImpl11.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/GreeterImpl11.java?rev=1157722&r1=1157721&r2=1157722&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/GreeterImpl11.java (original)
+++ cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/GreeterImpl11.java Mon Aug 15 06:31:10 2011
@@ -47,8 +47,10 @@ public class GreeterImpl11 {
}
public String sayHi() {
- // throw the exception out
- Exception cause = new IllegalArgumentException("Get a wrong name <sayHi>");
+ // throw the exception out with some cause
+ Exception cause = new IllegalArgumentException("Get a wrong name <sayHi>"
+ , new NullPointerException("Test cause."));
+ cause.printStackTrace();
throw new Fault("sayHiFault", LOG, cause);
}
Modified: cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap11ClientServerTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap11ClientServerTest.java?rev=1157722&r1=1157721&r2=1157722&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap11ClientServerTest.java (original)
+++ cxf/branches/2.3.x-fixes/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap11ClientServerTest.java Mon Aug 15 06:31:10 2011
@@ -41,7 +41,7 @@ public class Soap11ClientServerTest exte
@BeforeClass
public static void startServers() throws Exception {
assertTrue("server did not launch correctly",
- launchServer(Server11.class));
+ launchServer(Server11.class, true));
}
@Test
@@ -52,9 +52,19 @@ public class Soap11ClientServerTest exte
fail("Should throw Exception!");
} catch (SOAPFaultException ex) {
assertEquals("sayHiFault Caused by: Get a wrong name <sayHi>", ex.getMessage());
- StackTraceElement[] element = ex.getCause().getStackTrace();
- assertEquals("org.apache.cxf.systest.soapfault.details.GreeterImpl11", element[0].getClassName());
- }
+ StackTraceElement[] elements = ex.getCause().getStackTrace();
+ assertEquals("org.apache.cxf.systest.soapfault.details.GreeterImpl11",
+ elements[0].getClassName());
+ ex.printStackTrace();
+ boolean findNPE = false;
+ for (StackTraceElement element : elements) {
+ if (element.getClassName().indexOf("java.lang.NullPointerException") > 0) {
+ findNPE = true;
+ break;
+ }
+ }
+ assertTrue("Cannot find the Cause of NPE", findNPE);
+ }
}