Repository: cxf Updated Branches: refs/heads/master 15929d58e -> 417fb946e
[CXF-7301] Trying to catch the in exceptions with the status less than 300 (the higher-value status will generate an exception) Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/417fb946 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/417fb946 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/417fb946 Branch: refs/heads/master Commit: 417fb946eec38f403d915e90f405594675a7f7e0 Parents: 15929d5 Author: Sergey Beryozkin <sberyoz...@gmail.com> Authored: Mon Mar 27 12:26:34 2017 +0100 Committer: Sergey Beryozkin <sberyoz...@gmail.com> Committed: Mon Mar 27 12:26:34 2017 +0100 ---------------------------------------------------------------------- .../org/apache/cxf/jaxrs/client/AbstractClient.java | 5 ++++- .../systest/jaxrs/security/xml/JAXRSXmlSecTest.java | 13 +++---------- 2 files changed, 7 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/417fb946/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java ---------------------------------------------------------------------- diff --git a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java index 27c1b31..63bd861 100644 --- a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java +++ b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java @@ -568,7 +568,9 @@ public abstract class AbstractClient implements Client { } } } - ex = message.getContent(Exception.class); + if (ex == null) { + ex = message.getContent(Exception.class); + } if (ex != null || PropertyUtils.isTrue(exchange.get(SERVICE_NOT_AVAIL_PROPERTY)) && PropertyUtils.isTrue(exchange.get(COMPLETE_IF_SERVICE_NOT_AVAIL_PROPERTY))) { @@ -589,6 +591,7 @@ public abstract class AbstractClient implements Client { Exchange exchange = outMessage.getExchange(); Integer responseCode = getResponseCode(exchange); if (responseCode == null + || responseCode < 300 && !(actualEx instanceof IOException) || actualEx instanceof IOException && exchange.get("client.redirect.exception") != null) { if (actualEx instanceof ProcessingException) { throw (RuntimeException)actualEx; http://git-wip-us.apache.org/repos/asf/cxf/blob/417fb946/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/xml/JAXRSXmlSecTest.java ---------------------------------------------------------------------- diff --git a/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/xml/JAXRSXmlSecTest.java b/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/xml/JAXRSXmlSecTest.java index c1b2d7d..e8ec9c9 100644 --- a/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/xml/JAXRSXmlSecTest.java +++ b/systests/rs-security/src/test/java/org/apache/cxf/systest/jaxrs/security/xml/JAXRSXmlSecTest.java @@ -45,6 +45,7 @@ import org.apache.cxf.systest.jaxrs.security.Book; import org.apache.cxf.systest.jaxrs.security.BookStore; import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase; import org.apache.xml.security.encryption.XMLCipher; + import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; @@ -305,11 +306,7 @@ public class JAXRSXmlSecTest extends AbstractBusClientServerTestBase { } catch (WebApplicationException ex) { fail(ex.getMessage()); } catch (ProcessingException ex) { - if (ex.getCause() != null && ex.getCause().getMessage() != null) { - fail(ex.getCause().getMessage()); - } else { - fail(ex.getMessage()); - } + assertTrue(ex.getCause() instanceof BadRequestException); } } @@ -519,11 +516,7 @@ public class JAXRSXmlSecTest extends AbstractBusClientServerTestBase { fail(ex.getMessage()); } } catch (ProcessingException ex) { - if (ex.getCause() != null && ex.getCause().getMessage() != null) { - fail(ex.getCause().getMessage()); - } else { - fail(ex.getMessage()); - } + assertTrue(ex.getCause() instanceof BadRequestException); } }