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 2013/04/08 04:30:08 UTC
svn commit: r1465529 - in /cxf/branches/2.5.x-fixes: ./
rt/core/src/main/java/org/apache/cxf/interceptor/
rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/
rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/
Author: ffang
Date: Mon Apr 8 02:30:08 2013
New Revision: 1465529
URL: http://svn.apache.org/r1465529
Log:
Merged revisions 1465527 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
................
r1465527 | ffang | 2013-04-08 09:40:19 +0800 (一, 08 4 2013) | 20 lines
Merged revisions 1465526 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes
................
r1465526 | ffang | 2013-04-08 09:33:19 +0800 (一, 08 4 2013) | 13 lines
Merged revisions 1465337,1465373 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1465337 | ffang | 2013-04-07 15:42:23 +0800 (日, 07 4 2013) | 1 line
[CXF-4940]add a testcase to demonstrate exception hierarchy works
........
r1465373 | ffang | 2013-04-07 20:32:59 +0800 (日, 07 4 2013) | 1 line
[CXF-4940]CXF not (always) responding with the correct exception when working with an exception hierarchy
........
................
................
Added:
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersSubException.java
- copied unchanged from r1465527, cxf/branches/2.6.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersSubException.java
Modified:
cxf/branches/2.5.x-fixes/ (props changed)
cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Merged /cxf/branches/2.7.x-fixes:r1465526
Merged /cxf/trunk:r1465337-1465373
Merged /cxf/branches/2.6.x-fixes:r1465527
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java (original)
+++ cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java Mon Apr 8 02:30:08 2013
@@ -143,16 +143,20 @@ public class FaultOutInterceptor extends
* @param class1
* @return
*/
- public FaultInfo getFaultForClass(BindingOperationInfo op, Class class1) {
+ public FaultInfo getFaultForClass(BindingOperationInfo op, Class<?> class1) {
+ FaultInfo selectedFaultInfo = null;
+ Class<?> selectedFaultInfoClass = null;
for (BindingFaultInfo bfi : op.getFaults()) {
FaultInfo faultInfo = bfi.getFaultInfo();
- Class<?> c = (Class)faultInfo.getProperty(Class.class.getName());
- if (c != null && c.isAssignableFrom(class1)) {
- return faultInfo;
+ Class<?> c = (Class<?>)faultInfo.getProperty(Class.class.getName());
+ if (c != null && c.isAssignableFrom(class1)
+ && (selectedFaultInfo == null || selectedFaultInfoClass.isAssignableFrom(c))) {
+ selectedFaultInfo = faultInfo;
+ selectedFaultInfoClass = c;
+
}
}
-
- return null;
+ return selectedFaultInfo;
}
}
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java Mon Apr 8 02:30:08 2013
@@ -47,6 +47,7 @@ import org.apache.cxf.frontend.ServerFac
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.service.AddNumbersException;
+import org.apache.cxf.jaxws.service.AddNumbersSubException;
import org.apache.cxf.jaxws.service.ArrayService;
import org.apache.cxf.jaxws.service.ArrayServiceImpl;
import org.apache.cxf.jaxws.service.Entity;
@@ -247,6 +248,15 @@ public class CodeFirstTest extends Abstr
} catch (AddNumbersException e) {
assertEquals(e.getInfo(), "Sum is less than 0.");
}
+
+ try {
+ proxy.addNumbers(1, 99);
+ fail("should throw AddNumbersSubException");
+ } catch (AddNumbersSubException e) {
+ assertEquals(e.getSubInfo(), "Sum is 100");
+ } catch (AddNumbersException e) {
+ fail("should throw AddNumbersSubException");
+ }
}
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java Mon Apr 8 02:30:08 2013
@@ -23,7 +23,7 @@ import javax.xml.ws.WebFault;
@WebFault
public class AddNumbersException extends Exception {
private static final long serialVersionUID = 1L;
- private String info;
+ protected String info;
public AddNumbersException() {
}
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java Mon Apr 8 02:30:08 2013
@@ -70,10 +70,13 @@ public class Hello {
}
@WebMethod
- public String addNumbers(int arg0, int arg1) throws AddNumbersException {
+ public String addNumbers(int arg0, int arg1) throws AddNumbersSubException, AddNumbersException {
if (arg0 + arg1 < 0) {
throw new AddNumbersException("Sum is less than 0.");
}
+ if (arg0 + arg1 == 100) {
+ throw new AddNumbersSubException("Sum is 100");
+ }
return "Result = " + String.valueOf(arg0 + arg1);
}
}
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java Mon Apr 8 02:30:08 2013
@@ -34,5 +34,5 @@ public interface HelloInterface {
@WebMethod
List<String> getStringList(List<String> list);
@WebMethod
- String addNumbers(int arg0, int arg1) throws AddNumbersException;
+ String addNumbers(int arg0, int arg1) throws AddNumbersSubException, AddNumbersException;
}