You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by in...@apache.org on 2007/03/06 06:34:41 UTC

svn commit: r514984 - in /webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators: builtin/LogMediator.java transform/FaultMediator.java

Author: indika
Date: Mon Mar  5 21:34:40 2007
New Revision: 514984

URL: http://svn.apache.org/viewvc?view=rev&rev=514984
Log:
Fixed to the issues in JIRA 65 ,55

Modified:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/FaultMediator.java

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java?view=diff&rev=514984&r1=514983&r2=514984
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/LogMediator.java Mon Mar  5 21:34:40 2007
@@ -130,8 +130,7 @@
         StringBuffer sb = new StringBuffer();
         sb.append(getSimpleLogMessage(synCtx));
         if (synCtx.getEnvelope() != null)
-            sb.append(separator + "Envelope: " + synCtx.getEnvelope());
-        setCustomProperties(sb, synCtx);
+            sb.append(separator + "Envelope: " + synCtx.getEnvelope());        
         return trimLeadingSeparator(sb);
     }
 

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/FaultMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/FaultMediator.java?view=diff&rev=514984&r1=514983&r2=514984
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/FaultMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/transform/FaultMediator.java Mon Mar  5 21:34:40 2007
@@ -35,6 +35,7 @@
 
 import javax.xml.namespace.QName;
 import java.net.URI;
+import java.util.Iterator;
 
 /**
  * This transforms the current message instance into a SOAP Fault message. The
@@ -48,7 +49,7 @@
 
     private static final Log log = LogFactory.getLog(FaultMediator.class);
     private static final Log trace = LogFactory.getLog(Constants.TRACE_LOGGER);
-
+    public static final String WSA_ACTION = "Action";
     /** Make a SOAP 1.1 fault */
     public static final int SOAP11 = 1;
     /** Make a SOAP 1.2 fault */
@@ -110,8 +111,11 @@
         SOAPEnvelope faultEnvelope = factory.getDefaultFaultEnvelope();
         soapFaultDocument.addChild(faultEnvelope);
 
-        // create the fault element
-        SOAPFault fault = factory.createSOAPFault();
+        // create the fault element  if it is need 
+        SOAPFault fault = faultEnvelope.getBody().getFault();
+        if(fault == null){
+            fault = factory.createSOAPFault();
+        }
 
         // populate it
         setFaultCode(synCtx, factory, fault);
@@ -120,29 +124,15 @@
         setFaultRole(factory, fault);
         setFaultDetail(factory, fault);
 
-        // set the fault element
-        faultEnvelope.getBody().setFirstChild(fault);
-        log.debug("Setting the fault message as : " + fault);
-
-        // set the fault message "to" header to the "faultTo" of the original message if
-        // such a header existed on the original message, else set it to the "replyTo" of the original
-
-        EndpointReference toEPR = synCtx.getTo();
-        EndpointReference faultToEPR = synCtx.getFaultTo();
-        if (faultToEPR != null) {
-            log.debug("Setting fault message To : " + faultToEPR);
-            log.debug("Setting fault message ReplyTo : " + toEPR);
-            synCtx.setTo(faultToEPR);
-            synCtx.setReplyTo(toEPR);
-        } else {
-            EndpointReference replyToEPR = synCtx.getReplyTo();
-            log.debug("Setting fault message To : " + replyToEPR);
-            log.debug("Setting fault message ReplyTo : " + toEPR);
-            synCtx.setTo(replyToEPR);
-            synCtx.setReplyTo(toEPR);
+        // set the all headers of griginal SOAP Envelope to the Fault Envelope
+        Iterator iter = synCtx.getEnvelope().getHeader().examineAllHeaderBlocks();
+        if (iter.hasNext()) {
+            while (iter.hasNext()) {
+                SOAPHeaderBlock header = (SOAPHeaderBlock) iter.next();
+                faultEnvelope.getHeader().addChild(header);
+            }
         }
-        synCtx.setResponse(true);
-
+        log.debug("The fault message as : " + fault);
         // overwrite current message envelope with new fault envelope
         try {
             if (shouldTrace) {



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org