[jboss-svn-commits] JBL Code SVN: r38197 - in labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta: tests/src/org/jboss/soa/esb/actions and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Sep 24 15:30:53 EDT 2012
Author: tcunning
Date: 2012-09-24 15:30:53 -0400 (Mon, 24 Sep 2012)
New Revision: 38197
Modified:
labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/actions/SyncServiceInvoker.java
labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/SyncServiceInvokerUnitTest.java
labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-01.xml
labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-02.xml
Log:
JBESB-3852
Port changes from JBESB-3772 to 4.11 branch.
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/actions/SyncServiceInvoker.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/actions/SyncServiceInvoker.java 2012-09-24 18:41:18 UTC (rev 38196)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/actions/SyncServiceInvoker.java 2012-09-24 19:30:53 UTC (rev 38197)
@@ -70,17 +70,18 @@
}
}
+ Message response = null;
try {
call.setFaultTo(null);
call.setReplyTo(null);
- return serviceInvoker.deliverSync(message, timeout);
+ response = serviceInvoker.deliverSync(message, timeout);
+
+ // JBESB-3772
+ response.getHeader().getCall().setFaultTo(faultTo);
+ response.getHeader().getCall().setReplyTo(replyTo);
+ return response;
} catch (Exception e) {
- // No real need to reset the EPRs because the pipeline has already captured them, but
- // lets do it anyway...
- call.setFaultTo(faultTo);
- call.setReplyTo(replyTo);
-
if (failOnException) {
throw new ActionProcessingException("Error delivering message to service '" + serviceInvoker.getService() + "'", e);
} else {
@@ -88,6 +89,12 @@
return message;
}
} finally {
+ // JBESB-3772
+ // When an exception is thrown but failOnException is false, then the request message
+ // will be the current message again in the action pipeline.
+ call.setFaultTo(faultTo);
+ call.setReplyTo(replyTo);
+
try {
if(txObject != null) {
TransactionStrategy.getTransactionStrategy(true).resume(txObject);
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/SyncServiceInvokerUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/SyncServiceInvokerUnitTest.java 2012-09-24 18:41:18 UTC (rev 38196)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/SyncServiceInvokerUnitTest.java 2012-09-24 19:30:53 UTC (rev 38197)
@@ -19,8 +19,11 @@
*/
package org.jboss.soa.esb.actions;
+import java.net.URI;
+
import junit.framework.TestCase;
import org.jboss.soa.esb.testutils.AbstractTestRunner;
+import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.client.ServiceInvoker;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
@@ -47,11 +50,19 @@
request.getBody().add("Hello");
+ EPR faultToEpr = new EPR(new URI("fault.to.epr.test"));
+ request.getHeader().getCall().setFaultTo(faultToEpr);
+
ResponseAction.responseMessage = MessageFactory.getInstance().getMessage();
ResponseAction.responseMessage.getBody().add("Goodbye");
+ MessageSpyAction.cleanup();
Message response = invoker.deliverSync(request, 10000);
+
assertEquals("Goodbye", response.getBody().get());
+ // JBESB-3772: Check if the FaultTo in the Call is retained
+ assertNotNull(MessageSpyAction.getMessage());
+ assertEquals(faultToEpr, MessageSpyAction.getMessage().getHeader().getCall().getFaultTo());
}
}.setServiceConfig("sync-invoker-config-01.xml");
@@ -67,12 +78,14 @@
request.getBody().add("Hello");
ResponseAction.exception = new ActionProcessingException("Exception!!");
+ MessageSpyAction.cleanup();
try {
invoker.deliverSync(request, 10000);
fail("Expected FaultMessageException");
} catch(FaultMessageException e) {
assertEquals("Error delivering message to service 'Services:ServiceB'", e.getCause().getMessage());
+ assertNull(MessageSpyAction.getMessage());
}
}
}.setServiceConfig("sync-invoker-config-01.xml");
@@ -88,9 +101,18 @@
request.getBody().add("Hello");
+ EPR faultToEpr = new EPR(new URI("fault.to.epr.test"));
+ request.getHeader().getCall().setFaultTo(faultToEpr);
+
ResponseAction.exception = new ActionProcessingException("Exception!!");
+ MessageSpyAction.cleanup();
- invoker.deliverSync(request, 10000);
+ Message response = invoker.deliverSync(request, 10000);
+
+ assertEquals("Hello", response.getBody().get());
+ // JBESB-3772: Check if the FaultTo in the Call is retained
+ assertNotNull(MessageSpyAction.getMessage());
+ assertEquals(faultToEpr, MessageSpyAction.getMessage().getHeader().getCall().getFaultTo());
}
}.setServiceConfig("sync-invoker-config-02.xml");
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-01.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-01.xml 2012-09-24 18:41:18 UTC (rev 38196)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-01.xml 2012-09-24 19:30:53 UTC (rev 38197)
@@ -15,7 +15,8 @@
<property name="service-category" value="Services" />
<property name="service-name" value="ServiceB" />
</action>
- </actions>
+ <action name="message-spy" class="org.jboss.soa.esb.actions.MessageSpyAction" />
+ </actions>
</service>
</services>
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-02.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-02.xml 2012-09-24 18:41:18 UTC (rev 38196)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/tests/src/org/jboss/soa/esb/actions/sync-invoker-config-02.xml 2012-09-24 19:30:53 UTC (rev 38197)
@@ -16,7 +16,8 @@
<property name="service-name" value="ServiceB" />
<property name="failOnException" value="false" />
</action>
- </actions>
+ <action name="message-spy" class="org.jboss.soa.esb.actions.MessageSpyAction" />
+ </actions>
</service>
</services>
More information about the jboss-svn-commits
mailing list