You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/11/19 13:42:43 UTC
svn commit: r718944 - in
/servicemix/components/bindings/servicemix-jms/trunk/src:
main/java/org/apache/servicemix/jms/multiplexing/
test/java/org/apache/servicemix/jms/
Author: gnodet
Date: Wed Nov 19 04:42:43 2008
New Revision: 718944
URL: http://svn.apache.org/viewvc?rev=718944&view=rev
Log:
SM-1679: smx-jms old, non-soap, in/out, provider/consumer endpoints do not pass JBI Faults correctly
Modified:
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java
servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java
servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java
Modified: servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java?rev=718944&r1=718943&r2=718944&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java (original)
+++ servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java Wed Nov 19 04:42:43 2008
@@ -35,6 +35,7 @@
import org.apache.servicemix.jms.AbstractJmsProcessor;
import org.apache.servicemix.jms.JmsEndpoint;
+import org.apache.servicemix.soap.SoapFault;
import org.apache.servicemix.soap.marshalers.SoapMessage;
public class MultiplexingProviderProcessor extends AbstractJmsProcessor implements MessageListener {
@@ -95,9 +96,10 @@
}
try {
SoapMessage soap = endpoint.getMarshaler().toSOAP(message);
- if (soap.getFault() != null) {
+ SoapFault soapFault = soap.getFault();
+ if (soapFault != null) {
Fault fault = exchange.createFault();
- fault.setContent(soap.getSource());
+ fault.setContent(soapFault.getDetails());
exchange.setFault(fault);
} else {
NormalizedMessage msg = exchange.createMessage();
Modified: servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java?rev=718944&r1=718943&r2=718944&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java (original)
+++ servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java Wed Nov 19 04:42:43 2008
@@ -22,6 +22,7 @@
import javax.activation.DataHandler;
import javax.jbi.messaging.ExchangeStatus;
+import javax.jbi.messaging.Fault;
import javax.jbi.messaging.InOnly;
import javax.jbi.messaging.InOut;
import javax.jbi.messaging.NormalizedMessage;
@@ -226,7 +227,9 @@
inout.getInMessage().setContent(new StringSource("<hello>world</hello>"));
result = client.sendSync(inout);
assertTrue(result);
- assertNotNull(inout.getFault());
+ Fault inoutFault = inout.getFault();
+ assertNotNull(inoutFault);
+ assertTrue(new SourceTransformer().contentToString(inoutFault).indexOf("<fault/>") > 0);
client.done(inout);
// Test error return
Modified: servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java?rev=718944&r1=718943&r2=718944&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java (original)
+++ servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java Wed Nov 19 04:42:43 2008
@@ -92,7 +92,9 @@
result = client.sendSync(inout);
assertTrue(result);
assertNotNull(inout.getFault());
-
+ assertTrue(new SourceTransformer().contentToString(inout.getFault()).indexOf("<fault/>") > 0);
+ client.done(inout);
+
// Test error return
container.deactivateComponent("receiver");
ReturnErrorComponent error = new ReturnErrorComponent(new IllegalArgumentException());