Author: uswick
Date: Fri Sep 30 09:35:48 2011
New Revision: 1177565
URL: http://svn.apache.org/viewvc?rev=1177565&view=rev
Log:
committing patch for SYNAPSE-802
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=1177565&r1=1177564&r2=1177565&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
Fri Sep 30 09:35:48 2011
@@ -377,12 +377,13 @@ public final class SynapseConstants {
public static final int SND_IO_ERROR_SENDING = 101500;
public static final int SND_IO_ERROR_RECEIVING = 101501;
- public static final int NHTTP_CONNECTION_FAILED = 101503;
- public static final int NHTTP_CONNECTION_TIMEOUT = 101504;
- public static final int NHTTP_CONNECTION_CLOSED = 101505;
- public static final int NHTTP_PROTOCOL_VIOLATION = 101506;
- public static final int NHTTP_CONNECT_CANCEL = 101507;
- public static final int NHTTP_CONNECT_TIMEOUT = 101508;
+ public static final int NHTTP_CONNECTION_FAILED = 101503;
+ public static final int NHTTP_CONNECTION_TIMEOUT = 101504;
+ public static final int NHTTP_CONNECTION_CLOSED = 101505;
+ public static final int NHTTP_PROTOCOL_VIOLATION = 101506;
+ public static final int NHTTP_CONNECT_CANCEL = 101507;
+ public static final int NHTTP_CONNECT_TIMEOUT = 101508;
+ public static final int NHTTP_RESPONSE_PROCESSING_FAILURE = 101510;
// Endpoint failures
public static final int ENDPOINT_LB_NONE_READY = 303000;
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java?rev=1177565&r1=1177564&r2=1177565&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
Fri Sep 30 09:35:48 2011
@@ -31,6 +31,7 @@ import org.apache.axis2.description.Para
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.transport.TransportUtils;
import org.apache.axis2.transport.http.HTTPTransportUtils;
+import org.apache.axis2.util.JavaUtils;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -251,7 +252,28 @@ public class ClientWorker implements Run
try {
AxisEngine.receive(responseMsgCtx);
} catch (AxisFault af) {
- log.error("Fault processing response message through Axis2",
af);
+ // This will be reached if an exception is thrown within an
Axis2 handler
+ String errorMessage = "Fault processing response message
through Axis2: " +
+ af.getMessage();
+
+ log.warn(errorMessage);
+ if (log.isDebugEnabled()) {
+ log.debug(errorMessage, af);
+ log.debug("Directly invoking SynapseCallbackReceiver after
setting " +
+ "error properties");
+ }
+
+ responseMsgCtx.setProperty(
+ NhttpConstants.SENDING_FAULT, Boolean.TRUE);
+ responseMsgCtx.setProperty(
+ NhttpConstants.ERROR_CODE,
NhttpConstants.RESPONSE_PROCESSING_FAILURE);
+ responseMsgCtx.setProperty(
+ NhttpConstants.ERROR_MESSAGE,
errorMessage.split("\n")[0]);
+ responseMsgCtx.setProperty(
+ NhttpConstants.ERROR_DETAIL,
JavaUtils.stackToString(af));
+ responseMsgCtx.setProperty(
+ NhttpConstants.ERROR_EXCEPTION, af);
+
responseMsgCtx.getAxisOperation().getMessageReceiver().receive(responseMsgCtx);
}
} catch (AxisFault af) {
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java?rev=1177565&r1=1177564&r2=1177565&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
Fri Sep 30 09:35:48 2011
@@ -90,13 +90,14 @@ public class NhttpConstants {
public static final int SND_IO_ERROR_SENDING = 101500;
public static final int SND_IO_ERROR_RECEIVING = 101501;
- public static final int CONNECTION_FAILED = 101503;
- public static final int CONNECTION_TIMEOUT = 101504;
- public static final int CONNECTION_CLOSED = 101505;
- public static final int PROTOCOL_VIOLATION = 101506;
- public static final int CONNECT_CANCEL = 101507;
- public static final int CONNECT_TIMEOUT = 101508;
- public static final int SEND_ABORT = 101509;
+ public static final int CONNECTION_FAILED = 101503;
+ public static final int CONNECTION_TIMEOUT = 101504;
+ public static final int CONNECTION_CLOSED = 101505;
+ public static final int PROTOCOL_VIOLATION = 101506;
+ public static final int CONNECT_CANCEL = 101507;
+ public static final int CONNECT_TIMEOUT = 101508;
+ public static final int SEND_ABORT = 101509;
+ public static final int RESPONSE_PROCESSING_FAILURE = 101510;
// ********** DO NOT CHANGE THESE UNLESS CORRESPONDING SYNAPSE CONSTANT
ARE CHANGED ************
public static final String REST_URL_POSTFIX = "REST_URL_POSTFIX";