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