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>
- * &lt;proxy name="string" [transports="(http |https |jms )+|all"] [pinnedServers="(serverName )+" [trace="enable|disable"]>
- *    &lt;description>..&lt;/description>?
- *    &lt;target [inSequence="name"] [outSequence="name"] [faultSequence="name"] [endpoint="name"]>
- *       &lt;endpoint>...&lt;/endpoint>?
- *       &lt;inSequence>...&lt;/inSequence>?
- *       &lt;outSequence>...&lt;/outSequence>?
- *       &lt;faultSequence>...&lt;/faultSequence>?
- *    &lt;/target>?
- *    &lt;publishWSDL uri=".." key="string">
- *       ( &lt;wsdl:definition>...&lt;/wsdl:definition> | &lt;wsdl20:description>...&lt;/wsdl20:description> )?
- *       &lt;resource location="..." key="..."/>*
- *    &lt;/publishWSDL>?
- *    &lt;enableSec/>?
- *    &lt;enableRM/>?
- *    &lt;policy key="string"/>?
- *    &lt;policy key="string" type=(in | out)/>?
+ * &lt;proxy name="string" [transports="(http |https |jms )+|all"] [pinnedServers="(serverName )+" [trace="enable|disable"]&gt;
+ *    &lt;description&gt;..&lt;/description&gt;?
+ *    &lt;target [inSequence="name"] [outSequence="name"] [faultSequence="name"] [endpoint="name"]&gt;
+ *       &lt;endpoint&gt;...&lt;/endpoint&gt;?
+ *       &lt;inSequence&gt;...&lt;/inSequence&gt;?
+ *       &lt;outSequence&gt;...&lt;/outSequence&gt;?
+ *       &lt;faultSequence&gt;...&lt;/faultSequence&gt;?
+ *    &lt;/target&gt;?
+ *    &lt;publishWSDL uri=".." key="string"&gt;
+ *       ( &lt;wsdl:definition&gt;...&lt;/wsdl:definition&gt; | &lt;wsdl20:description&gt;...&lt;/wsdl20:description&gt; )?
+ *       &lt;resource location="..." key="..."/&gt;*
+ *    &lt;/publishWSDL&gt;?
+ *    &lt;enableAddressing/&gt;?
+ *    &lt;enableSec/&gt;?
+ *    &lt;enableRM/&gt;?
+ *    &lt;policy key="string"/&gt;?
+ *    &lt;policy key="string" type=(in | out)/&gt;?
  *       // optional service parameters
- *    &lt;parameter name="string">
+ *    &lt;parameter name="string"&gt;
  *       text | xml
- *    &lt;/parameter>?
- * &lt;/proxy>
+ *    &lt;/parameter&gt;?
+ * &lt;/proxy&gt;
  * </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>" +