You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/11/16 23:13:29 UTC
svn commit: r881003 - in /cxf/branches/2.2.x-fixes: ./
rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/policy/HTTPClientPolicyTest.java
Author: dkulp
Date: Mon Nov 16 22:13:28 2009
New Revision: 881003
URL: http://svn.apache.org/viewvc?rev=881003&view=rev
Log:
Merged revisions 880991 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r880991 | dkulp | 2009-11-16 17:03:54 -0500 (Mon, 16 Nov 2009) | 4 lines
[CXF-2537] Enhance the error messages on the client side for http
conduits.
Heavily modified patch from Cyrille Le Clerc applied.
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/policy/HTTPClientPolicyTest.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=881003&r1=881002&r2=881003&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java (original)
+++ cxf/branches/2.2.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java Mon Nov 16 22:13:28 2009
@@ -1980,13 +1980,32 @@
}
try {
handleResponse();
+ } catch (IOException e) {
+ throw mapException(e.getClass().getSimpleName()
+ + " invoking " + connection.getURL(), e,
+ IOException.class);
+ } catch (RuntimeException e) {
+ throw mapException(e.getClass().getSimpleName()
+ + " invoking " + connection.getURL(), e,
+ RuntimeException.class);
} finally {
if (cachingForRetransmission && cachedStream != null) {
cachedStream.close();
}
}
}
-
+ private <T extends Exception> T mapException(String msg, T ex, Class<T> cls) {
+ T ex2 = ex;
+ try {
+ ex2 = cls.cast(ex.getClass().getConstructor(String.class).newInstance(msg));
+ ex2.initCause(ex);
+ } catch (Throwable e) {
+ ex2 = ex;
+ }
+
+
+ return ex2;
+ }
/**
* This procedure handles all retransmits, if any.
@@ -2106,7 +2125,8 @@
if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
- throw new IOException(connection.getResponseMessage());
+ throw new IOException("HTTP response '" + responseCode + ": "
+ + connection.getResponseMessage() + "'");
}
Modified: cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/policy/HTTPClientPolicyTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/policy/HTTPClientPolicyTest.java?rev=881003&r1=881002&r2=881003&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/policy/HTTPClientPolicyTest.java (original)
+++ cxf/branches/2.2.x-fixes/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/policy/HTTPClientPolicyTest.java Mon Nov 16 22:13:28 2009
@@ -149,6 +149,7 @@
greeter.greetMe("cxf");
fail("Didn't get the exception");
} catch (Exception ex) {
+ ex.printStackTrace();
assertTrue(ex.getCause().getClass().getName(), ex.getCause() instanceof SocketTimeoutException);
}