You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ru...@apache.org on 2007/03/02 08:08:20 UTC
svn commit: r513639 - in /webservices/synapse/trunk/java/modules:
core/src/main/java/org/apache/synapse/
core/src/main/java/org/apache/synapse/core/axis2/
core/src/main/java/org/apache/synapse/mediators/
core/src/test/java/org/apache/synapse/ extension...
Author: ruwan
Date: Thu Mar 1 23:08:18 2007
New Revision: 513639
URL: http://svn.apache.org/viewvc?view=rev&rev=513639
Log:
Introduced Fault handling in Synapse
Added:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java
webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java
Added: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java?view=auto&rev=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java (added)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java Thu Mar 1 23:08:18 2007
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.synapse;
+
+public interface FaultHandler {
+
+ public void handleFault(MessageContext synCtx) throws SynapseException;
+}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java Thu Mar 1 23:08:18 2007
@@ -28,6 +28,7 @@
import org.apache.synapse.core.SynapseEnvironment;
import java.util.Set;
+import java.util.Stack;
/**
@@ -257,5 +258,9 @@
* @param tracingState Set whether the tracing is enabled or not
*/
public void setTracingState(int tracingState);
+
+ public Stack getFaultStack();
+
+ public void pushFault(FaultHandler fault);
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java Thu Mar 1 23:08:18 2007
@@ -30,6 +30,7 @@
import org.apache.synapse.Constants;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseException;
+import org.apache.synapse.FaultHandler;
import org.apache.synapse.mediators.GetPropertyFunction;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.core.SynapseEnvironment;
@@ -48,6 +49,7 @@
private SynapseConfiguration cfg = null;
private SynapseEnvironment env = null;
private Map properties = new HashMap();
+ private Stack faultStack = new Stack();
/** The Axis2 MessageContext reference */
private org.apache.axis2.context.MessageContext axis2MessageContext = null;
@@ -99,6 +101,7 @@
setAxis2MessageContext(axisMsgCtx);
cfg = synCfg;
env = synEnv;
+ // todo: set the default fault sequence from the configuration to context
}
public EndpointReference getFaultTo() {
@@ -232,6 +235,14 @@
public void setTracingState(int tracingState) {
this.tracingState= tracingState;
+ }
+
+ public Stack getFaultStack() {
+ return this.faultStack;
+ }
+
+ public void pushFault(FaultHandler fault) {
+ this.faultStack.push(fault);
}
public org.apache.axis2.context.MessageContext getAxis2MessageContext() {
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java Thu Mar 1 23:08:18 2007
@@ -78,8 +78,8 @@
"the proxy service " + synCtx.getProperty(Constants.PROXY_SERVICE));
outSequence.mediate(synCtx);
} else {
- log.error("Unable to find the sequence specified by the name " + sequenceName
- + " - [Message dropped]");
+ log.error("Unable to find the sequence specified by the name " + sequenceName);
+ // TODO invoke a generic synapse error handler for this message
}
} else if (synCtx.getConfiguration().getProxyService((String) synCtx.getProperty(
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java Thu Mar 1 23:08:18 2007
@@ -319,6 +319,7 @@
PolicyInclude pi = proxyService.getPolicyInclude();
if (pi != null && svcEffectivePolicy != null) {
pi.addPolicyElement(PolicyInclude.AXIS_SERVICE_POLICY, svcEffectivePolicy);
+ // todo: check whether the rm or sec is enabled
}
}
@@ -339,6 +340,7 @@
handleException("Unable to start the Proxy Service");
}
+ // todo: need to remove this and engage modules by looking at policies
// should RM be engaged on this service?
if (wsRMEnabled) {
try {
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java Thu Mar 1 23:08:18 2007
@@ -27,7 +27,10 @@
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.Mediator;
import org.apache.synapse.MessageContext;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.FaultHandler;
import org.apache.synapse.mediators.base.SequenceMediator;
+import org.apache.synapse.mediators.MediatorFaultHandler;
import org.apache.synapse.statistics.StatisticsUtils;
import org.apache.synapse.statistics.impl.EndPointStatisticsStack;
import org.apache.synapse.statistics.impl.ProxyServiceStatisticsStack;
@@ -56,61 +59,90 @@
}
MessageContext synCtx = MessageContextCreatorForAxis2.getSynapseMessageContext(mc);
- synCtx.setProperty(org.apache.synapse.Constants.PROXY_SERVICE, name);
- ProxyService proxy = synCtx.getConfiguration().getProxyService(name);
- // Setting Required property to collect the proxy service statistics
- boolean statisticsEnable;
- if (proxy != null) {
- statisticsEnable = (org.apache.synapse.Constants.STATISTICS_ON == proxy.getStatisticsEnable());
- if (statisticsEnable) {
- ProxyServiceStatisticsStack proxyServiceStatisticsStack = new ProxyServiceStatisticsStack();
- boolean isFault = synCtx.getEnvelope().getBody().hasFault();
- proxyServiceStatisticsStack.put(
- name, System.currentTimeMillis(), !synCtx.isResponse(), statisticsEnable, isFault);
- synCtx.setProperty(
- org.apache.synapse.Constants.PROXYSERVICE_STATISTICS_STACK, proxyServiceStatisticsStack);
- }
+ try {
+ synCtx.setProperty(org.apache.synapse.Constants.PROXY_SERVICE, name);
+ ProxyService proxy = synCtx.getConfiguration().getProxyService(name);
+
+ // Setting Required property to collect the proxy service statistics
+ boolean statisticsEnable;
+ if (proxy != null) {
+ statisticsEnable = (org.apache.synapse.Constants.STATISTICS_ON == proxy.getStatisticsEnable());
+ if (statisticsEnable) {
+ ProxyServiceStatisticsStack proxyServiceStatisticsStack = new ProxyServiceStatisticsStack();
+ boolean isFault = synCtx.getEnvelope().getBody().hasFault();
+ proxyServiceStatisticsStack.put(
+ name, System.currentTimeMillis(), !synCtx.isResponse(), statisticsEnable, isFault);
+ synCtx.setProperty(
+ org.apache.synapse.Constants.PROXYSERVICE_STATISTICS_STACK, proxyServiceStatisticsStack);
+ }
- // Using inSequence for the incoming message mediation
- if (proxy.getTargetInSequence() != null) {
+ if (proxy.getTargetInSequence() != null) {
- Mediator inSequence = synCtx.getConfiguration().getNamedSequence(proxy.getTargetInSequence());
- if (inSequence != null) {
- log.debug("Using the sequence named " + proxy.getTargetInSequence() + " for message mediation");
- inSequence.mediate(synCtx);
- } else {
- // todo: what can we do ?????? throw an AxisFault / mediate using the fault sequence
- log.error("Unable to find the in sequence for the proxy service " +
- "specified by the name " + proxy.getTargetInSequence() + " - [Message dropped]");
+ Mediator faultSequence = synCtx.getConfiguration().getNamedSequence(proxy.getTargetInSequence());
+ if (faultSequence != null) {
+ log.debug("setting the fault sequence of the proxy to context");
+ synCtx.pushFault(new MediatorFaultHandler(
+ synCtx.getConfiguration().getNamedSequence(proxy.getTargetFaultSequence())));
+ } else {
+ log.warn("Unable to find the fault sequence for the proxy service " +
+ "specified by the name " + proxy.getTargetInSequence());
+ }
+ } else if (proxy.getTargetInLineInSequence() != null) {
+ log.debug("Using the anonymous in sequence of the proxy service for message mediation");
+ synCtx.pushFault(new MediatorFaultHandler(proxy.getTargetInLineInSequence()));
+ }
+
+ // Using inSequence for the incoming message mediation
+ if (proxy.getTargetInSequence() != null) {
+
+ Mediator inSequence = synCtx.getConfiguration().getNamedSequence(proxy.getTargetInSequence());
+ if (inSequence != null) {
+ log.debug("Using the sequence named " + proxy.getTargetInSequence() + " for message mediation");
+ inSequence.mediate(synCtx);
+ } else {
+
+ log.error("Unable to find the in sequence for the proxy service " +
+ "specified by the name " + proxy.getTargetInSequence());
+ // TODO invoke a generic synapse error handler for this message
+ }
+ } else if (proxy.getTargetInLineInSequence() != null) {
+ log.debug("Using the anonymous in sequence of the proxy service for message mediation");
+ proxy.getTargetInLineInSequence().mediate(synCtx);
}
- } else if (proxy.getTargetInLineInSequence() != null) {
- log.debug("Using the anonymous in sequence of the proxy service for message mediation");
- proxy.getTargetInLineInSequence().mediate(synCtx);
- }
- if (proxy.getTargetEndpoint() != null) {
- Endpoint endpoint = synCtx.getConfiguration().getNamedEndpoint(proxy.getTargetEndpoint());
- if (endpoint != null) {
- log.debug("Forwarding message to the endpoint named "
- + proxy.getTargetEndpoint() + " after message mediation");
- synCtx.setTo(new EndpointReference(endpoint.getAddress()));
- Axis2FlexibleMEPClient.send(endpoint, synCtx);
- } else {
- // todo: what can we do ?????? throw an AxisFault
- log.error("Unable to find the endpoint for the proxy service " +
- "specified by the name " + proxy.getTargetEndpoint() + " - [Message dropped]");
+ if (proxy.getTargetEndpoint() != null) {
+ Endpoint endpoint = synCtx.getConfiguration().getNamedEndpoint(proxy.getTargetEndpoint());
+ if (endpoint != null) {
+ log.debug("Forwarding message to the endpoint named "
+ + proxy.getTargetEndpoint() + " after message mediation");
+ synCtx.setTo(new EndpointReference(endpoint.getAddress()));
+ Axis2FlexibleMEPClient.send(endpoint, synCtx);
+ } else {
+
+ log.error("Unable to find the endpoint for the proxy service " +
+ "specified by the name " + proxy.getTargetEndpoint());
+ throw new SynapseException("Unable to find the endpoint for the proxy service " +
+ "specified by the name " + proxy.getTargetEndpoint());
+ }
+ } else if (proxy.getTargetInLineEndpoint() != null) {
+ log.debug("Forwarding the message to the anonymous " +
+ "endpoint of the proxy service after message mediation");
+ synCtx.setTo(new EndpointReference(proxy.getTargetInLineEndpoint().getAddress()));
+ Axis2FlexibleMEPClient.send(proxy.getTargetInLineEndpoint(), synCtx);
}
- } else if (proxy.getTargetInLineEndpoint() != null) {
- log.debug("Forwarding the message to the anonymous " +
- "endpoint of the proxy service after message mediation");
- synCtx.setTo(new EndpointReference(proxy.getTargetInLineEndpoint().getAddress()));
- Axis2FlexibleMEPClient.send(proxy.getTargetInLineEndpoint(), synCtx);
- }
- } else {
- log.error("Proxy Service with the name " + name + " does not exists - [Message dropped]");
- throw new AxisFault("Proxy Service with the name " + name + " does not exists");
+ } else {
+ log.error("Proxy Service with the name " + name + " does not exists");
+ throw new SynapseException("Proxy Service with the name " + name + " does not exists");
+ }
+ } catch (SynapseException syne) {
+ if(!synCtx.getFaultStack().empty()) {
+ ((FaultHandler) synCtx.getFaultStack().pop()).handleFault(synCtx);
+ } else {
+ log.error("Synapse encountered an exception, " +
+ "No error handlers found - [Message Dropped]\n" + syne.getMessage());
+ }
}
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java Thu Mar 1 23:08:18 2007
@@ -27,6 +27,8 @@
import org.apache.axis2.AxisFault;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.FaultHandler;
import java.util.Map;
import java.util.HashMap;
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java Thu Mar 1 23:08:18 2007
@@ -25,6 +25,8 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.MessageContext;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.FaultHandler;
import org.apache.synapse.statistics.StatisticsStack;
import org.apache.synapse.statistics.impl.ProxyServiceStatisticsStack;
@@ -47,16 +49,26 @@
}
MessageContext synCtx = MessageContextCreatorForAxis2.getSynapseMessageContext(mc);
- StatisticsStack synapseServiceStack = (StatisticsStack) synCtx.getProperty(org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK);
- if (synapseServiceStack== null) {
- synapseServiceStack= new ProxyServiceStatisticsStack();
- synCtx.setProperty(org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK, synapseServiceStack);
- }
- String name = "SynapseService";
- boolean isFault =synCtx.getEnvelope().getBody().hasFault();
- synapseServiceStack.put(name, System.currentTimeMillis(), !synCtx.isResponse(), true,isFault);
- // invoke synapse message mediation
- synCtx.getEnvironment().injectMessage(synCtx);
+ try {
+ StatisticsStack synapseServiceStack = (StatisticsStack) synCtx.getProperty(org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK);
+ if (synapseServiceStack == null) {
+ synapseServiceStack = new ProxyServiceStatisticsStack();
+ synCtx.setProperty(org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK, synapseServiceStack);
+ }
+ String name = "SynapseService";
+ boolean isFault = synCtx.getEnvelope().getBody().hasFault();
+ synapseServiceStack.put(name, System.currentTimeMillis(), !synCtx.isResponse(), true, isFault);
+
+ // invoke synapse message mediation
+ synCtx.getEnvironment().injectMessage(synCtx);
+ } catch (SynapseException syne) {
+ if(!synCtx.getFaultStack().empty()) {
+ ((FaultHandler) synCtx.getFaultStack().pop()).handleFault(synCtx);
+ } else {
+ log.error("Synapse encountered an exception, " +
+ "No error handlers found - [Message Dropped]\n" + syne.getMessage());
+ }
+ }
}
}
Added: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java?view=auto&rev=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java (added)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java Thu Mar 1 23:08:18 2007
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.synapse.mediators;
+
+import org.apache.synapse.FaultHandler;
+import org.apache.synapse.SynapseException;
+import org.apache.synapse.Mediator;
+import org.apache.synapse.MessageContext;
+
+public class MediatorFaultHandler implements FaultHandler {
+
+ private Mediator faultMediator = null;
+
+ public MediatorFaultHandler(Mediator faultMediator) {
+ this.faultMediator = faultMediator;
+ }
+
+ public void handleFault(MessageContext synCtx) throws SynapseException {
+ this.faultMediator.mediate(synCtx);
+ }
+}
Modified: webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java Thu Mar 1 23:08:18 2007
@@ -31,6 +31,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import java.util.Stack;
public class TestMessageContext implements MessageContext {
@@ -197,6 +198,13 @@
public void setTracingState(int tracingState) {
//Todo
+ }
+
+ public Stack getFaultStack() {
+ return null;
+ }
+
+ public void pushFault(FaultHandler fault) {
}
public MessageContext getSynapseContext() {
Modified: webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java Thu Mar 1 23:08:18 2007
@@ -20,6 +20,7 @@
package org.apache.synapse.mediators.bsf;
import java.util.Set;
+import java.util.Stack;
import javax.xml.stream.XMLStreamException;
@@ -28,6 +29,7 @@
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.RelatesTo;
import org.apache.synapse.MessageContext;
+import org.apache.synapse.FaultHandler;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.mediators.bsf.convertors.OMElementConvertor;
@@ -248,6 +250,14 @@
public void setTracingState(int tracingState) {
mc.setTracingState(tracingState);
+ }
+
+ public Stack getFaultStack() {
+ return mc.getFaultStack();
+ }
+
+ public void pushFault(FaultHandler fault) {
+ mc.pushFault(fault);
}
}
Modified: webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java Thu Mar 1 23:08:18 2007
@@ -20,12 +20,14 @@
package org.apache.synapse.mediators.bsf;
import java.util.Set;
+import java.util.Stack;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.RelatesTo;
import org.apache.synapse.MessageContext;
+import org.apache.synapse.FaultHandler;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.core.SynapseEnvironment;
@@ -171,6 +173,14 @@
public void setTracingState(int tracingState) {
getMC().setTracingState(tracingState);
+ }
+
+ public Stack getFaultStack() {
+ return getMC().getFaultStack();
+ }
+
+ public void pushFault(FaultHandler fault) {
+ getMC().pushFault(fault);
}
public void setDoingMTOM(boolean b) {
Modified: webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java?view=diff&rev=513639&r1=513638&r2=513639
==============================================================================
--- webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java (original)
+++ webservices/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java Thu Mar 1 23:08:18 2007
@@ -31,6 +31,7 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
+import java.util.Stack;
public class TestMessageContext implements MessageContext {
@@ -204,6 +205,13 @@
}
public void setTracingState(int tracingState) {
+ }
+
+ public Stack getFaultStack() {
+ return null;
+ }
+
+ public void pushFault(FaultHandler fault) {
}
public MessageContext getSynapseContext() {
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org