Author: amilas
Date: Sat Feb 27 13:03:58 2010
New Revision: 916949

URL: http://svn.apache.org/viewvc?rev=916949&view=rev
Log:
commit the patch for SANDESHA2-199

Modified:
    
axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java

Modified: 
axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java?rev=916949&r1=916948&r2=916949&view=diff
==============================================================================
--- 
axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
 (original)
+++ 
axis/axis2/java/sandesha/trunk/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
 Sat Feb 27 13:03:58 2010
@@ -1079,7 +1079,20 @@
                                                        
                                                        
((AxisCallback)callback).onError(fault);
                                                }
-                                       }
+                                        // this is actually to support 
synapse. Synpase Axis Operation does not have a callBackMessageReceiver
+                     // synapse AxisOperation always has the synapse message 
receiver. And also to be send in the synapse
+                     // fault mediators we need to set the SENDING_FAULT 
property as well.
+                    } else if (msgReceiver != null) {
+                        try {
+                            //since there is no reponse we set this message as 
the fault reply
+                            context.getOptions().setRelationships(new 
RelatesTo[]{new RelatesTo(context.getMessageID())});
+                            context.setProperty("SENDING_FAULT", Boolean.TRUE);
+                            msgReceiver.receive(context);
+                        } catch (AxisFault axisFault) {
+                            log.error(axisFault.getMessage());
+                            throw new SandeshaException("Can not invoke the 
message receiver ", axisFault);
+                        }
+                    }
                                }
                        }
                }


Reply via email to