[jboss-svn-commits] JBL Code SVN: r15759 - labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 11 11:24:37 EDT 2007
Author: kevin.conner at jboss.com
Date: 2007-10-11 11:24:36 -0400 (Thu, 11 Oct 2007)
New Revision: 15759
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
Log:
Fixed ReplyTo/FaultTo for responses: JBESB-1158
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2007-10-11 15:21:42 UTC (rev 15758)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2007-10-11 15:24:36 UTC (rev 15759)
@@ -31,6 +31,7 @@
import org.jboss.soa.esb.actions.ActionPipelineProcessor;
import org.jboss.soa.esb.actions.ActionProcessingFaultException;
import org.jboss.soa.esb.actions.BeanConfiguredAction;
+import org.jboss.soa.esb.addressing.Call;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.MalformedEPRException;
import org.jboss.soa.esb.addressing.util.DefaultFaultTo;
@@ -240,6 +241,7 @@
final EPR faultToAddress = DefaultFaultTo.getFaultToAddress(message);
long start = System.nanoTime();
serviceMessageCounter.incrementTotalCount();
+ final EPR fromAddress = message.getHeader().getCall().getTo() ;
if (active.get())
{
@@ -290,14 +292,14 @@
if (fault.getFaultMessage() == null)
{
- faultTo(faultToAddress, Factory.createErrorMessage(Factory.PROCESSING_ERROR, message, ex));
+ faultTo(fromAddress, faultToAddress, Factory.createErrorMessage(Factory.PROCESSING_ERROR, message, ex));
}
else
- faultTo(faultToAddress, fault.getFaultMessage());
+ faultTo(fromAddress, faultToAddress, fault.getFaultMessage());
}
else
{
- faultTo(faultToAddress, Factory.createErrorMessage(Factory.UNEXPECTED_ERROR, message, ex));
+ faultTo(fromAddress, faultToAddress, Factory.createErrorMessage(Factory.UNEXPECTED_ERROR, message, ex));
}
long procTime = System.nanoTime() - start;
@@ -315,7 +317,7 @@
// Reply...
if ((currentMessage != null) && (replyToAddress != null))
{
- replyTo(replyToAddress, currentMessage);
+ replyTo(fromAddress, replyToAddress, currentMessage);
}
notifySuccess(messages);
@@ -328,7 +330,7 @@
{
LOGGER.debug("pipeline process disabled for message: "+message.getHeader());
- faultTo(faultToAddress, Factory.createErrorMessage(Factory.NOT_ENABLED, message, null));
+ faultTo(fromAddress, faultToAddress, Factory.createErrorMessage(Factory.NOT_ENABLED, message, null));
long procTime = System.nanoTime() - start;
DeliveryObservableLogger.getInstance().logMessage(new MessageStatusBean(procTime, message,
MessageStatusBean.MESSAGE_FAILED));
@@ -340,13 +342,15 @@
/**
* Send the reply.
*
+ * @param fromAddress
+ * the EPR to which the original message was sent.
* @param replyToAddress
* the EPR to target if one is not defined in the message.
* @param message
* the message.
*/
- private void replyTo(EPR replyToAddress, Message message)
+ private void replyTo(EPR fromAddress, EPR replyToAddress, Message message)
{
Courier courier = null;
EPR replyToEPR = DefaultReplyTo.getReplyToAddress(message);
@@ -360,6 +364,10 @@
}
else
{
+ final Call call = message.getHeader().getCall() ;
+ call.setFrom(fromAddress) ;
+ call.setReplyTo(null) ;
+ call.setFaultTo(null) ;
try
{
courier = CourierFactory.getCourier(replyToAddress);
@@ -393,13 +401,15 @@
/**
* Send the fault message to the EPR.
*
+ * @param fromAddress
+ * the EPR to which the original message was sent.
* @param faultToAddress
* the EPR to target if one is not set in the message.
* @param message
* the message.
*/
- private void faultTo(EPR faultToAddress, Message message)
+ private void faultTo(EPR fromAddress, EPR faultToAddress, Message message)
{
Courier courier = null;
EPR faultToEPR = DefaultFaultTo.getFaultToAddress(message);
@@ -413,6 +423,10 @@
}
else
{
+ final Call call = message.getHeader().getCall() ;
+ call.setFrom(fromAddress) ;
+ call.setReplyTo(null) ;
+ call.setFaultTo(null) ;
try
{
courier = CourierFactory.getCourier(faultToAddress);
More information about the jboss-svn-commits
mailing list