Author: asankha
Date: Mon Nov 27 07:17:38 2006
New Revision: 479657
URL: http://svn.apache.org/viewvc?view=rev&rev=479657
Log:
allow synapse to specify if mtom/swa should be turned on for outgoing messages
- full functionality depends on support for this from axis2 - as currently this
cannot be turned on per message
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/Endpoint.java
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointFactory.java
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
incubator/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/InlineScriptMediator.java
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java
incubator/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/MessageContext.java
Mon Nov 27 07:17:38 2006
@@ -185,10 +185,22 @@
public boolean isDoingMTOM();
/**
+ * If this message using SWA?
+ * @return true if using SWA
+ */
+ public boolean isDoingSWA();
+
+ /**
* Marks as using MTOM
* @param b true to mark as using MTOM
*/
public void setDoingMTOM(boolean b);
+
+ /**
+ * Marks as using SWA
+ * @param b true to mark as using SWA
+ */
+ public void setDoingSWA(boolean b);
/**
* Is this message over POX?
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/Endpoint.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/Endpoint.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/Endpoint.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/Endpoint.java
Mon Nov 27 07:17:38 2006
@@ -52,6 +52,10 @@
private boolean forcePOX = false;
/** force SOAP on **/
private boolean forceSOAP = false;
+ /** use MTOM **/
+ private boolean useMTOM = false;
+ /** use SWA **/
+ private boolean useSwa = false;
@@ -205,4 +209,20 @@
public boolean isForceSOAP() {
return forceSOAP;
}
+
+ public boolean isUseMTOM() {
+ return useMTOM;
+ }
+
+ public void setUseMTOM(boolean useMTOM) {
+ this.useMTOM = useMTOM;
+ }
+
+ public boolean isUseSwa() {
+ return useSwa;
+ }
+
+ public void setUseSwa(boolean useSwa) {
+ this.useSwa = useSwa;
+ }
}
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointFactory.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointFactory.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointFactory.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointFactory.java
Mon Nov 27 07:17:38 2006
@@ -33,7 +33,7 @@
/**
* Creates an Endpoint instance using the XML fragment specification
*
- * <endpoint name="string" address="url" force="soap|pox">
+ * <endpoint name="string" address="url" [force="soap|pox"]
[optimize="mtom|swa"]>
* .. extensibility ..
*
* <enableRM [policy="key"]/>+ <enableSec [policy="key"]/>+ <enableAddressing
@@ -58,10 +58,12 @@
Constants.NULL_NAMESPACE, "name"));
OMAttribute address = elem.getAttribute(new QName(
Constants.NULL_NAMESPACE, "address"));
- OMAttribute force = elem.getAttribute(new QName(
+ OMAttribute force = elem.getAttribute(new QName(
Constants.NULL_NAMESPACE, "force"));
-
- Endpoint endpoint = new Endpoint();
+ OMAttribute optimize = elem.getAttribute(new QName(
+ Constants.NULL_NAMESPACE, "optimize"));
+
+ Endpoint endpoint = new Endpoint();
if (!anonymousEndpoint) {
if (name == null) {
handleException("The 'name' attribute is
required for a named endpoint definition");
@@ -88,7 +90,7 @@
}
- if (force!=null)
+ if (force != null)
{
String forceValue =
force.getAttributeValue().trim().toLowerCase();
if (forceValue.equals("pox")) {
@@ -100,7 +102,16 @@
}
}
- OMElement wsAddr = elem.getFirstChildWithName(new QName(
+ if (optimize != null && optimize.getAttributeValue().length() > 0) {
+ String method = optimize.getAttributeValue().trim();
+ if ("mtom".equalsIgnoreCase(method)) {
+ endpoint.setUseMTOM(true);
+ } else if ("swa".equalsIgnoreCase(method)) {
+ endpoint.setUseSwa(true);
+ }
+ }
+
+ OMElement wsAddr = elem.getFirstChildWithName(new QName(
Constants.SYNAPSE_NAMESPACE,
"enableAddressing"));
if (wsAddr != null) {
endpoint.setAddressingOn(true);
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2MessageContext.java
Mon Nov 27 07:17:38 2006
@@ -183,8 +183,16 @@
return axis2MessageContext.isDoingMTOM();
}
+ public boolean isDoingSWA() {
+ return axis2MessageContext.isDoingSwA();
+ }
+
public void setDoingMTOM(boolean b) {
axis2MessageContext.setDoingMTOM(b);
+ }
+
+ public void setDoingSWA(boolean b) {
+ axis2MessageContext.setDoingSwA(b);
}
public boolean isDoingPOX() {
Modified:
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
Mon Nov 27 07:17:38 2006
@@ -87,7 +87,14 @@
} else if (singleEndpoint.isForceSOAP()) {
synCtx.setDoingPOX(false);
}
- if (singleEndpoint.isUseSeparateListener())
+
+ if (singleEndpoint.isUseMTOM()) {
+ synCtx.setDoingMTOM(true);
+ } else if (singleEndpoint.isUseSwa()) {
+ synCtx.setDoingSWA(true);
+ }
+
+ if (singleEndpoint.isUseSeparateListener())
{
synCtx.setProperty(Constants.OUTFLOW_USE_SEPARATE_LISTENER,
Boolean.TRUE);
}
Modified:
incubator/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
(original)
+++
incubator/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/TestMessageContext.java
Mon Nov 27 07:17:38 2006
@@ -156,7 +156,14 @@
return false;
}
+ public boolean isDoingSWA() {
+ return false;
+ }
+
public void setDoingMTOM(boolean b) {
+ }
+
+ public void setDoingSWA(boolean b) {
}
public boolean isDoingPOX() {
Modified:
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/InlineScriptMediator.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/InlineScriptMediator.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/InlineScriptMediator.java
(original)
+++
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/InlineScriptMediator.java
Mon Nov 27 07:17:38 2006
@@ -26,6 +26,8 @@
import org.apache.bsf.BSFManager;
import org.apache.synapse.MessageContext;
import org.apache.synapse.SynapseException;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
/**
* An inline script mediator has the script source embedded in the config XML:
@@ -40,6 +42,8 @@
*/
public class InlineScriptMediator extends ScriptMediator {
+ private static final Log log =
LogFactory.getLog(InlineScriptMediator.class);
+
protected String scriptName;
protected String scriptSrc;
@@ -55,6 +59,7 @@
public boolean mediate(MessageContext synCtx) {
try {
+ log.debug("Script mediator mediate()");
// This is a bit of a hack to deal with inconsistencies in the
varrious BSF script engines.
// The JavaScript engine does not support BSFEngine.apply properly
as it doesn't pass the
@@ -77,6 +82,7 @@
return true; // default to returning true
} catch (BSFException e) {
+ log.error("Error executing inline script", e);
throw new SynapseException(e);
}
}
Modified:
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
(original)
+++
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMessageContext.java
Mon Nov 27 07:17:38 2006
@@ -202,8 +202,16 @@
return mc.isDoingMTOM();
}
+ public boolean isDoingSWA() {
+ return mc.isDoingSWA();
+ }
+
public void setDoingMTOM(boolean b) {
mc.setDoingMTOM(b);
+ }
+
+ public void setDoingSWA(boolean b) {
+ mc.setDoingSWA(b);
}
public boolean isDoingPOX() {
Modified:
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java
(original)
+++
incubator/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ThreadLocalMessageContext.java
Mon Nov 27 07:17:38 2006
@@ -141,6 +141,10 @@
return getMC().isDoingMTOM();
}
+ public boolean isDoingSWA() {
+ return getMC().isDoingSWA();
+ }
+
public boolean isDoingPOX() {
return getMC().isDoingPOX();
}
@@ -163,6 +167,10 @@
public void setDoingMTOM(boolean b) {
getMC().setDoingMTOM(b);
+ }
+
+ public void setDoingSWA(boolean b) {
+ getMC().setDoingSWA(b);
}
public void setDoingPOX(boolean b) {
Modified:
incubator/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java
URL:
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java?view=diff&rev=479657&r1=479656&r2=479657
==============================================================================
---
incubator/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java
(original)
+++
incubator/synapse/trunk/java/modules/extensions/src/test/java/org/apache/synapse/TestMessageContext.java
Mon Nov 27 07:17:38 2006
@@ -156,7 +156,14 @@
return false;
}
+ public boolean isDoingSWA() {
+ return false;
+ }
+
public void setDoingMTOM(boolean b) {
+ }
+
+ public void setDoingSWA(boolean b) {
}
public boolean isDoingPOX() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]