Author: gnodet
Date: Thu Sep 25 05:58:19 2008
New Revision: 698952
URL: http://svn.apache.org/viewvc?rev=698952&view=rev
Log:
SM-1589: Class JbiExchange setting fault, but message is not a fault
Modified:
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/CamelJbiEndpoint.java
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/JbiExchange.java
Modified:
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/CamelJbiEndpoint.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/CamelJbiEndpoint.java?rev=698952&r1=698951&r2=698952&view=diff
==============================================================================
---
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/CamelJbiEndpoint.java
(original)
+++
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/CamelJbiEndpoint.java
Thu Sep 25 05:58:19 2008
@@ -91,7 +91,8 @@
}
JbiExchange camelExchange = new
JbiExchange(camelEndpoint.getCamelContext(), binding, exchange);
camelProcessor.process(camelExchange);
- if (camelExchange.isFailed()) {
+ if (camelExchange.isFailed()
+ && (camelExchange.getFault(false) == null ||
camelExchange.getFault(false).getBody() == null)) {
Throwable t = camelExchange.getException();
Exception e;
if (t == null) {
@@ -111,7 +112,8 @@
}
JbiExchange camelExchange = new
JbiExchange(camelEndpoint.getCamelContext(), binding, exchange);
camelProcessor.process(camelExchange);
- if (camelExchange.isFailed()) {
+ if (camelExchange.isFailed()
+ && (camelExchange.getFault(false) == null ||
camelExchange.getFault(false).getBody() == null)) {
Throwable t = camelExchange.getException();
Exception e;
if (t == null) {
Modified:
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/JbiExchange.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/JbiExchange.java?rev=698952&r1=698951&r2=698952&view=diff
==============================================================================
---
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/JbiExchange.java
(original)
+++
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-camel/src/main/java/org/apache/servicemix/camel/JbiExchange.java
Thu Sep 25 05:58:19 2008
@@ -17,6 +17,7 @@
package org.apache.servicemix.camel;
import javax.jbi.JBIException;
+import javax.jbi.messaging.Fault;
import javax.jbi.messaging.InOnly;
import javax.jbi.messaging.MessageExchange;
import javax.jbi.messaging.NormalizedMessage;
@@ -159,8 +160,14 @@
try {
NormalizedMessage msg = messageExchange.getMessage(name);
if (msg == null) {
- msg = messageExchange.createMessage();
- messageExchange.setMessage(msg, name);
+ if ("fault".equals(name)) {
+ Fault f = messageExchange.createFault();
+ messageExchange.setFault(f);
+ msg = f;
+ } else {
+ msg = messageExchange.createMessage();
+ messageExchange.setMessage(msg, name);
+ }
}
return new JbiMessage(msg);
} catch (JBIException e) {