summaryrefslogtreecommitdiffstats
path: root/branches
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-01-07 18:27:33 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2009-01-07 18:27:33 +0000
commitf99c9b7dd82c668ee736806ad9edbd56a101aa74 (patch)
tree3cab6734a548b3d384af99fad5209e406ac69a13 /branches
parent581221b8bc79ca403fc8c89c4ae5d5819d2bad21 (diff)
Commit temporary work arounds for TUSCANY-2593
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@732415 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches')
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java8
-rw-r--r--branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java2
2 files changed, 8 insertions, 2 deletions
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java
index 2fcb07a07f..e229cc9043 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.sca.binding.jms.provider;
+import java.lang.reflect.InvocationTargetException;
+
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;
@@ -101,7 +103,11 @@ public abstract class AbstractMessageProcessor implements JMSMessageProcessor {
try {
ObjectMessage message = session.createObjectMessage();
- message.setObject(o);
+ if (o instanceof ServiceRuntimeException && ((ServiceRuntimeException)o).getCause() instanceof InvocationTargetException) {
+ message.setObject(o.getCause() );
+ } else {
+ message.setObject(o);
+ }
message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY, true);
return message;
diff --git a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java
index 96d6ab7c46..a5270729b8 100644
--- a/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java
+++ b/branches/sca-java-1.x/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java
@@ -204,7 +204,7 @@ public class RRBJMSBindingInvoker implements Invoker, DataExchangeSemantics {
if ((e.getCause().getCause() instanceof RuntimeException)) {
tuscanyMsg.setFaultBody(e.getCause());
} else {
- tuscanyMsg.setFaultBody(e.getCause().getCause());
+ tuscanyMsg.setFaultBody(((InvocationTargetException)e.getCause()).getTargetException());
}
} else {
tuscanyMsg.setFaultBody(e);