You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2008/07/07 08:01:32 UTC
svn commit: r674403 - in /synapse/trunk/java/modules/core/src:
main/java/org/apache/synapse/config/xml/
main/java/org/apache/synapse/core/axis2/
test/java/org/apache/synapse/config/xml/
Author: ruwan
Date: Sun Jul 6 23:01:31 2008
New Revision: 674403
URL: http://svn.apache.org/viewvc?rev=674403&view=rev
Log:
Fixing the issue SYNAPSE-329
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ProxyServiceSerializationTest.java
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java?rev=674403&r1=674402&r2=674403&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceFactory.java Sun Jul 6 23:01:31 2008
@@ -43,27 +43,28 @@
* <p/>
* Configuration syntax:
* <pre>
- * <proxy name="string" [transports="(http |https |jms )+|all"] [pinnedServers="(serverName )+" [trace="enable|disable"]>
- * <description>..</description>?
- * <target [inSequence="name"] [outSequence="name"] [faultSequence="name"] [endpoint="name"]>
- * <endpoint>...</endpoint>?
- * <inSequence>...</inSequence>?
- * <outSequence>...</outSequence>?
- * <faultSequence>...</faultSequence>?
- * </target>?
- * <publishWSDL uri=".." key="string">
- * ( <wsdl:definition>...</wsdl:definition> | <wsdl20:description>...</wsdl20:description> )?
- * <resource location="..." key="..."/>*
- * </publishWSDL>?
- * <enableSec/>?
- * <enableRM/>?
- * <policy key="string"/>?
- * <policy key="string" type=(in | out)/>?
+ * <proxy name="string" [transports="(http |https |jms )+|all"] [pinnedServers="(serverName )+" [trace="enable|disable"]>
+ * <description>..</description>?
+ * <target [inSequence="name"] [outSequence="name"] [faultSequence="name"] [endpoint="name"]>
+ * <endpoint>...</endpoint>?
+ * <inSequence>...</inSequence>?
+ * <outSequence>...</outSequence>?
+ * <faultSequence>...</faultSequence>?
+ * </target>?
+ * <publishWSDL uri=".." key="string">
+ * ( <wsdl:definition>...</wsdl:definition> | <wsdl20:description>...</wsdl20:description> )?
+ * <resource location="..." key="..."/>*
+ * </publishWSDL>?
+ * <enableAddressing/>?
+ * <enableSec/>?
+ * <enableRM/>?
+ * <policy key="string"/>?
+ * <policy key="string" type=(in | out)/>?
* // optional service parameters
- * <parameter name="string">
+ * <parameter name="string">
* text | xml
- * </parameter>?
- * </proxy>
+ * </parameter>?
+ * </proxy>
* </pre>
*/
public class ProxyServiceFactory {
@@ -336,6 +337,11 @@
}
if (elem.getFirstChildWithName(
+ new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "enableAddressing")) != null) {
+ proxy.setWsAddrEnabled(true);
+ }
+
+ if (elem.getFirstChildWithName(
new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "enableRM")) != null) {
proxy.setWsRMEnabled(true);
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java?rev=674403&r1=674402&r2=674403&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/ProxyServiceSerializer.java Sun Jul 6 23:01:31 2008
@@ -199,6 +199,9 @@
}
}
+ if (service.isWsAddrEnabled()) {
+ proxy.addChild(fac.createOMElement("enableAddressing", synNS));
+ }
if (service.isWsRMEnabled()) {
proxy.addChild(fac.createOMElement("enableRM", synNS));
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java?rev=674403&r1=674402&r2=674403&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyService.java Sun Jul 6 23:01:31 2008
@@ -168,6 +168,10 @@
*/
private List<String> outMessagePolicies = new ArrayList<String>();
/**
+ * Should WS Addressing be engaged on this service
+ */
+ private boolean wsAddrEnabled = false;
+ /**
* Should WS RM be engaged on this service
*/
private boolean wsRMEnabled = false;
@@ -499,6 +503,17 @@
handleException("Error adding Proxy service to the Axis2 engine", axisFault);
}
+ // should Addressing be engaged on this service?
+ if (wsAddrEnabled) {
+ auditInfo("WS-Addressing is enabled for service : " + name);
+ try {
+ proxyService.engageModule(axisCfg.getModule(
+ SynapseConstants.ADDRESSING_MODULE_NAME), axisCfg);
+ } catch (AxisFault axisFault) {
+ handleException("Error loading WS Addressing module on proxy service : " + name, axisFault);
+ }
+ }
+
// should RM be engaged on this service?
if (wsRMEnabled) {
auditInfo("WS-Reliable messaging is enabled for service : " + name);
@@ -718,6 +733,14 @@
this.serviceLevelPolicies.add(serviceLevelPolicy);
}
+ public boolean isWsAddrEnabled() {
+ return wsAddrEnabled;
+ }
+
+ public void setWsAddrEnabled(boolean wsAddrEnabled) {
+ this.wsAddrEnabled = wsAddrEnabled;
+ }
+
public boolean isWsRMEnabled() {
return wsRMEnabled;
}
Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ProxyServiceSerializationTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ProxyServiceSerializationTest.java?rev=674403&r1=674402&r2=674403&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ProxyServiceSerializationTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ProxyServiceSerializationTest.java Sun Jul 6 23:01:31 2008
@@ -64,15 +64,18 @@
assertTrue(compare(resultOM, inputOM));
}
-// public void testProxyServiceSerializationSenarioFour() throws Exception {
-// String inputXml = "<proxy xmlns=\"http://ws.apache.org/ns/synapse\" name=\"name\" startOnLoad=\"true\" transports=\"http\"><description>description</description><target><inSequence><send/></inSequence></target><publish-wsdl><wsdl:definitions xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\"></wsdl:definitions></publish-wsdl><policy key=\"key\"/><parameter name=\"para\">text</parameter></proxy>";
-// OMElement inputOM = createOMElement(inputXml);
-//
-// ProxyService proxy = ProxyServiceFactory.createProxy(inputOM);
-// OMElement resultOM = ProxyServiceSerializer.serializeProxy(null, proxy);
-// assertTrue(comparator.compare(resultOM, inputOM));
+ public void testProxyServiceSerializationSenarioFour() throws Exception {
+ String inputXml = "<proxy xmlns=\"http://ws.apache.org/ns/synapse\" " +
+ "name=\"name\" startOnLoad=\"true\" transports=\"http\"><description>" +
+ "description</description><target><inSequence onError=\"ref\"><send/></inSequence>" +
+ "<outSequence><send/></outSequence></target><enableAddressing/><publishWSDL key=\"key\"></publishWSDL>" +
+ "<policy key=\"key\"/><parameter name=\"para\">text</parameter></proxy>";
+ OMElement inputOM = createOMElement(inputXml);
+ ProxyService proxy = ProxyServiceFactory.createProxy(inputOM);
+ OMElement resultOM = ProxyServiceSerializer.serializeProxy(null, proxy);
+ assertTrue(compare(resultOM, inputOM));
+ }
- // }
public void testProxyServiceSerializationSenarioFive() throws Exception {
String inputXml = "<proxy xmlns=\"http://ws.apache.org/ns/synapse\" startOnLoad=\"true\" " +
"name=\"name\" transports=\"http\"><description>description</description><target>" +