diff -Naur /home/ngrounds/tmp/groovy-xmlrpc-0.3/xmlrpc/src/main/groovy/net/xmlrpc/XMLRPCCallFailureException.java src/main/groovy/net/xmlrpc/XMLRPCCallFailureException.java --- /home/ngrounds/tmp/groovy-xmlrpc-0.3/xmlrpc/src/main/groovy/net/xmlrpc/XMLRPCCallFailureException.java 2005-09-08 03:55:13.000000000 -0500 +++ src/main/groovy/net/xmlrpc/XMLRPCCallFailureException.java 2007-07-02 12:47:16.000000000 -0500 @@ -53,11 +53,14 @@ private final Object faultCode; public XMLRPCCallFailureException(final Object faultString, final Object faultCode) { - super("XML-RPC call Failure: fault string = \"" + faultString + "\", fault code = " + faultCode); + this( faultString, faultCode, null ); + } + + public XMLRPCCallFailureException( final Object faultString, final Object faultCode, final Throwable cause ) { + super("XML-RPC call Failure: fault string = \"" + faultString + "\", fault code = " + faultCode, cause); this.faultString = faultString; this.faultCode = faultCode; - } public Object getFaultCode() { diff -Naur /home/ngrounds/tmp/groovy-xmlrpc-0.3/xmlrpc/src/main/groovy/net/xmlrpc/XMLRPCServerProxy.java src/main/groovy/net/xmlrpc/XMLRPCServerProxy.java --- /home/ngrounds/tmp/groovy-xmlrpc-0.3/xmlrpc/src/main/groovy/net/xmlrpc/XMLRPCServerProxy.java 2005-09-04 06:57:56.000000000 -0500 +++ src/main/groovy/net/xmlrpc/XMLRPCServerProxy.java 2007-07-02 14:16:46.000000000 -0500 @@ -53,6 +53,8 @@ import java.net.URL; import java.net.URLConnection; import java.util.List; +import java.util.Map; +import java.util.HashMap; import uk.co.wilson.net.xmlrpc.XMLRPCFailException; @@ -103,7 +105,7 @@ } catch (final XMLRPCFailException e) { // e.printStackTrace(); - throw new XMLRPCCallFailureException(e.getFaultString(), new Integer(e.getFaultCode())); + throw new XMLRPCCallFailureException(e.getFaultString(), new Integer(e.getFaultCode()), e ); } final List response = responseParser.getParams(); @@ -121,9 +123,9 @@ } } catch (final IOException e) { - throw new XMLRPCCallFailureException(e.getMessage(), new Integer(0)); + throw new XMLRPCCallFailureException(e.getMessage(), new Integer(0), e); } catch (final XMLRPCFailException e) { - throw new XMLRPCCallFailureException(e.getFaultString(), e.getCause()); + throw new XMLRPCCallFailureException(e.getFaultString(), e.getCause(), e); } } }