Author: hiranya
Date: Mon Aug 26 02:32:11 2013
New Revision: 1517408
URL: http://svn.apache.org/r1517408
Log:
Making it possible to use the Options object on the msgctx when mediating thru
callout mediator. Patch applied from SYNAPSE-873 with some changes
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorSerializer.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/CalloutMediatorSerializationTest.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java?rev=1517408&r1=1517407&r2=1517408&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorFactory.java
Mon Aug 26 02:32:11 2013
@@ -55,6 +55,7 @@ public class CalloutMediatorFactory exte
private static final QName ATT_AXIS2XML = new QName("axis2xml");
private static final QName ATT_REPOSITORY = new QName("repository");
private static final QName ATT_PASS_HEADERS = new QName("passHeaders");
+ private static final QName ATT_INIT_AXI2_CLIENT_OPTIONS = new
QName("initAxis2ClientOptions");
private static final QName Q_CONFIG
= new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "configuration");
private static final QName Q_SOURCE
@@ -78,6 +79,7 @@ public class CalloutMediatorFactory exte
OMAttribute attServiceURL = elem.getAttribute(ATT_URL);
OMAttribute attAction = elem.getAttribute(ATT_ACTION);
OMAttribute attPassHeaders = elem.getAttribute(ATT_PASS_HEADERS);
+ OMAttribute attInitClientOptions =
elem.getAttribute(ATT_INIT_AXI2_CLIENT_OPTIONS);
OMElement epElement = elem.getFirstChildWithName(Q_ENDPOINT);
OMElement configElt = elem.getFirstChildWithName(Q_CONFIG);
OMElement sourceElt = elem.getFirstChildWithName(Q_SOURCE);
@@ -109,6 +111,11 @@ public class CalloutMediatorFactory exte
callout.setPassHeaders(true);
}
+ if (attInitClientOptions != null &&
+
JavaUtils.isFalseExplicitly(attInitClientOptions.getAttributeValue())) {
+ callout.setInitClientOptions(false);
+ }
+
if (configElt != null) {
OMAttribute axis2xmlAttr = configElt.getAttribute(ATT_AXIS2XML);
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorSerializer.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorSerializer.java?rev=1517408&r1=1517407&r2=1517408&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorSerializer.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/CalloutMediatorSerializer.java
Mon Aug 26 02:32:11 2013
@@ -79,6 +79,10 @@ public class CalloutMediatorSerializer e
callout.addAttribute(fac.createOMAttribute("passHeaders", nullNS,
"true"));
}
+ if (!mediator.isInitClientOptions()) {
+
callout.addAttribute(fac.createOMAttribute("initAxis2ClientOptions", nullNS,
"false"));
+ }
+
if (mediator.getRequestXPath() != null || mediator.getRequestKey() !=
null) {
OMElement source = fac.createOMElement("source", synNS, callout);
if (mediator.getRequestXPath() != null) {
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java?rev=1517408&r1=1517407&r2=1517408&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/CalloutMediator.java
Mon Aug 26 02:32:11 2013
@@ -74,6 +74,8 @@ public class CalloutMediator extends Abs
private boolean passHeaders = false;
+ private boolean initClientOptions = true;
+
private boolean securityOn = false; //Should messages be sent using
WS-Security?
private String wsSecPolicyKey = null;
@@ -284,6 +286,7 @@ public class CalloutMediator extends Abs
public void init(SynapseEnvironment synEnv) {
blockingMsgSender = new Axis2BlockingClient(clientRepository,
axis2xml);
+ blockingMsgSender.setInitClientOptions(initClientOptions);
EndpointDefinition endpointDefinition = null;
@@ -401,6 +404,14 @@ public class CalloutMediator extends Abs
this.passHeaders = passHeaders;
}
+ public boolean isInitClientOptions() {
+ return initClientOptions;
+ }
+
+ public void setInitClientOptions(boolean initClientOptions) {
+ this.initClientOptions = initClientOptions;
+ }
+
/**
* Is WS-Security turned on?
*
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/CalloutMediatorSerializationTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/CalloutMediatorSerializationTest.java?rev=1517408&r1=1517407&r2=1517408&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/CalloutMediatorSerializationTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/CalloutMediatorSerializationTest.java
Mon Aug 26 02:32:11 2013
@@ -126,5 +126,15 @@ public class CalloutMediatorSerializatio
assertTrue(serialization(inputXml, calloutMediatorSerializer));
}
+ public void testCalloutMediatorSerializationScenarioEight() {
+ String inputXml = "<callout xmlns=\"http://ws.apache.org/ns/synapse\"
initAxis2ClientOptions=\"false\">" +
+ "<endpoint>" +
+ "<address
uri=\"http://localhost:9000/services/SimpleStockQuoteService\"/>" +
+ "</endpoint>" +
+ "</callout>";
+ assertTrue(serialization(inputXml, calloutMediatorFactory,
calloutMediatorSerializer));
+ assertTrue(serialization(inputXml, calloutMediatorSerializer));
+ }
+
}