You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ch...@apache.org on 2007/03/12 14:04:48 UTC

svn commit: r517197 - in /webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: config/ config/xml/ config/xml/endpoints/ config/xml/endpoints/utils/ core/ core/axis2/ endpoints/ endpoints/utils/

Author: chathura_ce
Date: Mon Mar 12 06:04:47 2007
New Revision: 517197

URL: http://svn.apache.org/viewvc?view=rev&rev=517197
Log:
Did minor refactorings to the endpoint code.

Added:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionFactory.java
      - copied, changed from r517189, webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionFactory.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionSerializer.java
      - copied, changed from r517189, webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionSerializer.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/utils/
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/utils/EndpointDefinition.java
      - copied, changed from r517189, webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/EndpointDefinition.java
Removed:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/EndpointDefinition.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionFactory.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionSerializer.java
Modified:
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointSerializer.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointSerializer.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointFactory.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointSerializer.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointSerializer.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointSerializer.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL11EndpointBuilder.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL20EndpointBuilder.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.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/endpoints/AddressEndpoint.java
    webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java Mon Mar 12 06:04:47 2007
@@ -21,7 +21,7 @@
 
 import org.apache.synapse.endpoints.Endpoint;
 import org.apache.synapse.endpoints.AddressEndpoint;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.Constants;
 import org.apache.synapse.SynapseException;
 import org.apache.axiom.om.OMElement;
@@ -32,6 +32,15 @@
 
 import javax.xml.namespace.QName;
 
+/**
+ * Creates AddressEndpoint using a XML configuration.
+ *
+ * <endpoint [name="name"]>
+ *    <address uri="uri">
+ *       configuration for the epr. see EndpointDefintionFactory.
+ *    </address>
+ * </endpoint>
+ */
 public class AddressEndpointFactory implements EndpointFactory {
 
     private static Log log = LogFactory.getLog(AddressEndpointFactory.class);

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointSerializer.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointSerializer.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointSerializer.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointSerializer.java Mon Mar 12 06:04:47 2007
@@ -26,8 +26,17 @@
 import org.apache.synapse.endpoints.AddressEndpoint;
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.Constants;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 
+/**
+ * Serializes AddressEndpoint to XML.
+ *
+ * <endpoint [name="name"]>
+ *    <address uri="uri">
+ *       configuration for the epr. see EndpointDefintionFactory.
+ *    </address>
+ * </endpoint>
+ */
 public class AddressEndpointSerializer implements EndpointSerializer {
 
     private OMFactory fac = null;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointFactory.java Mon Mar 12 06:04:47 2007
@@ -32,6 +32,15 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 
+/**
+ * Creates FailoverEndpoint using a XML configuration.
+ *
+ * <endpoint [name="name"]>
+ *    <failover>
+ *       <endpoint>+
+ *    </failover>
+ * </endpoint>
+ */
 public class FailoverEndpointFactory implements EndpointFactory {
 
     private static Log log = LogFactory.getLog(FailoverEndpointFactory.class);

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointSerializer.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointSerializer.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointSerializer.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/FailoverEndpointSerializer.java Mon Mar 12 06:04:47 2007
@@ -29,6 +29,15 @@
 
 import java.util.ArrayList;
 
+/**
+ * Serializes FailoverEndpoint to XML configuration.
+ *
+ * <endpoint [name="name"]>
+ *    <failover>
+ *       <endpoint>+
+ *    </failover>
+ * </endpoint>
+ */
 public class FailoverEndpointSerializer implements EndpointSerializer {
 
     private OMFactory fac = null;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointFactory.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointFactory.java Mon Mar 12 06:04:47 2007
@@ -29,6 +29,13 @@
 
 import javax.xml.namespace.QName;
 
+/**
+ * Creates an IndirectEndpoint using a XML configuration. Key can be a name of an endpoint defined
+ * in the same Synapse configuration or a registry key pointing to an endpoint configuration in the
+ * registry (e.g. <endpoint key="registry/endpoint1.xml" />).
+ *
+ * <endpoint key="key" />
+ */
 public class IndirectEndpointFactory implements EndpointFactory {
 
     private static Log log = LogFactory.getLog(IndirectEndpointFactory.class);

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointSerializer.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointSerializer.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointSerializer.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/IndirectEndpointSerializer.java Mon Mar 12 06:04:47 2007
@@ -27,6 +27,11 @@
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.Constants;
 
+/**
+ * Serializes an IndirectEndpoint to an XML configuration.
+ *
+ * <endpoint key="key" />
+ */
 public class IndirectEndpointSerializer implements EndpointSerializer {
 
     private OMFactory fac = null;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointFactory.java Mon Mar 12 06:04:47 2007
@@ -35,6 +35,15 @@
 import java.util.Iterator;
 import java.util.ArrayList;
 
+/**
+ * Creates LoadbalanceEndpoint using an XML configuration.
+ *
+ * <endpoint [name="name"]>
+ *    <loadbalance policy="load balance algorithm">
+ *       <endpoint>+
+ *    </loadbalance>
+ * </endpoint>
+ */
 public class LoadbalanceEndpointFactory implements EndpointFactory {
 
     private static Log log = LogFactory.getLog(LoadbalanceEndpointFactory.class);

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointSerializer.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointSerializer.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointSerializer.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/LoadbalanceEndpointSerializer.java Mon Mar 12 06:04:47 2007
@@ -31,6 +31,15 @@
 
 import java.util.ArrayList;
 
+/**
+ * Serializes LoadbalanceEndpoint to an XML configuration.
+ *
+ * <endpoint [name="name"]>
+ *    <loadbalance policy="load balance algorithm">
+ *       <endpoint>+
+ *    </loadbalance>
+ * </endpoint>
+ */
 public class LoadbalanceEndpointSerializer implements EndpointSerializer {
 
     private OMFactory fac = null;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java Mon Mar 12 06:04:47 2007
@@ -23,7 +23,7 @@
 import org.apache.synapse.endpoints.WSDLEndpoint;
 import org.apache.synapse.Constants;
 import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.config.xml.endpoints.utils.WSDL11EndpointBuilder;
 import org.apache.synapse.config.xml.endpoints.utils.WSDL20EndpointBuilder;
 import org.apache.axiom.om.OMElement;
@@ -37,6 +37,15 @@
 import javax.xml.namespace.QName;
 import java.net.URL;
 
+/**
+ * Creates an WSDL based endpoint from a XML configuration.
+ *
+ * <endpoint [name="name"]>
+ *    <wsdl uri="wsdl uri" service="service name" port="port name">
+ *       .. extensibility ..
+ *    </wsdl>
+ * </endpoint>
+ */
 public class WSDLEndpointFactory implements EndpointFactory {
 
     private static Log log = LogFactory.getLog(WSDLEndpointFactory.class);
@@ -92,9 +101,11 @@
                     endpoint = new WSDL20EndpointBuilder().
                             createEndpointDefinitionFromWSDL(wsdlElement);
                 }
+
+
                 wsdlEndpoint.setEndpointDefinition(endpoint);
             } catch (Exception e1) {
-
+                handleException("Unable to create endpoint from the given WSDL.", e1);
             }
         }
 
@@ -106,4 +117,8 @@
         throw new SynapseException(msg);
     }
 
+    private static void handleException(String msg, Exception e) {
+        log.error(msg, e);
+        throw new SynapseException(msg, e);
+    }
 }

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointSerializer.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointSerializer.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointSerializer.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointSerializer.java Mon Mar 12 06:04:47 2007
@@ -26,8 +26,17 @@
 import org.apache.synapse.endpoints.WSDLEndpoint;
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.Constants;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 
+/**
+ * Serializes an WSDL based endpoint to an XML configuration.
+ *
+ * <endpoint [name="name"]>
+ *    <wsdl uri="wsdl uri" service="service name" port="port name">
+ *       .. extensibility ..
+ *    </wsdl>
+ * </endpoint>
+ */
 public class WSDLEndpointSerializer implements EndpointSerializer {
 
    private OMFactory fac = null;

Copied: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionFactory.java (from r517189, webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionFactory.java)
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionFactory.java?view=diff&rev=517197&p1=webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionFactory.java&r1=517189&p2=webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionFactory.java&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionFactory.java Mon Mar 12 06:04:47 2007
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.synapse.config.xml;
+package org.apache.synapse.config.xml.endpoints.utils;
 
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
@@ -25,22 +25,25 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.config.XMLToObjectMapper;
+import org.apache.synapse.config.xml.Constants;
 
 import javax.xml.namespace.QName;
 
 /**
- * Creates an Endpoint instance using the XML fragment specification
+ * Creates an EndpointDefinition instance using the XML fragment specification. Configuration for
+ * EndpointDefinition always resides inside a configuration of an AddressEndpoint. This factory
+ * extracts the details related to the EPR provided for address endpoint.
  * 
- * <endpoint name="string" address="url" [force="soap|pox"] [optimize="mtom|swa"]>
+ * <address uri="url" [force="soap|pox"] [optimize="mtom|swa"]>
  *  .. extensibility ..
  * 
  * <enableRM [policy="key"]/>+ <enableSec [policy="key"]/>+ <enableAddressing
  * separateListener="true|false"/>+
  * 
  * 
- * </endpoint>
+ * </address>
  */
 public class EndpointDefinitionFactory implements XMLToObjectMapper {
 
@@ -51,8 +54,7 @@
     private EndpointDefinitionFactory() {
     }
 
-    public static EndpointDefinition createEndpoint(OMElement elem,
-                                                    boolean anonymousEndpoint) {
+    public static EndpointDefinition createEndpoint(OMElement elem) {
 
         OMAttribute address = elem.getAttribute(new QName(
                 Constants.NULL_NAMESPACE, "address"));
@@ -127,7 +129,6 @@
         }
 
         return endpoint;
-        // }
     }
 
     private static void handleException(String msg) {
@@ -142,7 +143,7 @@
 
     public Object getObjectFromOMNode(OMNode om) {
         if (om instanceof OMElement) {
-            return createEndpoint((OMElement) om, false);
+            return createEndpoint((OMElement) om);
         } else {
             handleException("Invalid XML configuration for an Endpoint. OMElement expected");
         }

Copied: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionSerializer.java (from r517189, webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionSerializer.java)
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionSerializer.java?view=diff&rev=517197&p1=webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionSerializer.java&r1=517189&p2=webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionSerializer.java&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/EndpointDefinitionSerializer.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/EndpointDefinitionSerializer.java Mon Mar 12 06:04:47 2007
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.synapse.config.xml;
+package org.apache.synapse.config.xml.endpoints.utils;
 
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
@@ -26,10 +26,11 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.config.xml.Constants;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 
 /**
- * <endpoint name="string" address="url">
+ * <address uri="url">
  *
  *    .. extensibility ..
  *
@@ -48,7 +49,7 @@
  *    <enableSec/>+
  *    <enableAddressing/>+
  *
- * </endpoint>
+ * </address>
  */
 public class EndpointDefinitionSerializer {
 

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL11EndpointBuilder.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL11EndpointBuilder.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL11EndpointBuilder.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL11EndpointBuilder.java Mon Mar 12 06:04:47 2007
@@ -19,7 +19,7 @@
 
 package org.apache.synapse.config.xml.endpoints.utils;
 
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.SynapseException;
 import org.apache.axiom.om.OMElement;
 
@@ -33,6 +33,9 @@
 import javax.xml.namespace.QName;
 import java.util.List;
 
+/**
+ * Builds the EndpointDefinition containing the details for an epr using a WSDL 1.1 document.
+ */
 public class WSDL11EndpointBuilder {
 
     public EndpointDefinition createEndpointDefinitionFromWSDL(OMElement wsdlElement) {

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL20EndpointBuilder.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL20EndpointBuilder.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL20EndpointBuilder.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/utils/WSDL20EndpointBuilder.java Mon Mar 12 06:04:47 2007
@@ -19,7 +19,7 @@
 
 package org.apache.synapse.config.xml.endpoints.utils;
 
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.SynapseException;
 import org.apache.axiom.om.OMElement;
 import org.apache.woden.WSDLFactory;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java Mon Mar 12 06:04:47 2007
@@ -20,7 +20,7 @@
 package org.apache.synapse.core;
 
 import org.apache.synapse.MessageContext;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.statistics.StatisticsCollector;
 
 /**

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java Mon Mar 12 06:04:47 2007
@@ -48,7 +48,7 @@
 import org.apache.neethi.PolicyEngine;
 import org.apache.synapse.Constants;
 import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 
 /**
  * This is a simple client that handles both in only and in out
@@ -195,12 +195,12 @@
                 ori.getProperty(org.apache.axis2.Constants.Configuration.ENABLE_MTOM));
         newMC.setProperty(org.apache.axis2.Constants.Configuration.ENABLE_SWA,
                 ori.getProperty(org.apache.axis2.Constants.Configuration.ENABLE_SWA));
-        
+
         newMC.setDoingREST(ori.isDoingREST());
         newMC.setDoingMTOM(ori.isDoingMTOM());
         newMC.setServerSide(false);
 
-        // set SOAP envelope on the message context, removing WS-A headers        
+        // set SOAP envelope on the message context, removing WS-A headers
         newMC.setEnvelope(ori.getEnvelope());
         removeAddressingHeaders(newMC);
 

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java Mon Mar 12 06:04:47 2007
@@ -26,10 +26,8 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.Constants;
 import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.statistics.StatisticsUtils;
-
-import java.util.Iterator;
 
 /**
  * This class helps the Axis2SynapseEnvironment implement the send method

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=517197&r1=517196&r2=517197
==============================================================================
--- 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 Mon Mar 12 06:04:47 2007
@@ -26,7 +26,7 @@
 import org.apache.synapse.Mediator;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.config.SynapseConfiguration;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.statistics.StatisticsCollector;
 import org.apache.synapse.statistics.StatisticsUtils;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java Mon Mar 12 06:04:47 2007
@@ -22,9 +22,9 @@
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.Constants;
 import org.apache.synapse.FaultHandler;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
 import org.apache.synapse.statistics.impl.EndPointStatisticsStack;
-import org.apache.synapse.config.EndpointDefinition;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;

Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java?view=diff&rev=517197&r1=517196&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java Mon Mar 12 06:04:47 2007
@@ -20,21 +20,133 @@
 package org.apache.synapse.endpoints;
 
 import org.apache.synapse.MessageContext;
-import org.apache.synapse.config.EndpointDefinition;
+import org.apache.synapse.Constants;
+import org.apache.synapse.FaultHandler;
+import org.apache.synapse.endpoints.utils.EndpointDefinition;
+import org.apache.synapse.statistics.impl.EndPointStatisticsStack;
+import org.apache.synapse.core.axis2.Axis2MessageContext;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.Stack;
+
+/**
+ * WSDLEndpoint represents the endpoints built using a wsdl document. It stores the details about
+ * the endpoint in a EndpointDefinition object. Once the WSDLEndpoint object is contructed, it should
+ * not access the wsdl document at runtime to obtain endpoint information. If it is neccessary to
+ * create an endpoint using a dynamic wsdl, store the endpoint configuration in the registry and
+ * create a dynamic wsdl endpoint using that registry key.
+ *
+ * TODO: This should allow variuos policies to be applied on fine grained level (e.g. operations).
+ */
+public class WSDLEndpoint extends FaultHandler implements Endpoint {
 
-public class WSDLEndpoint implements Endpoint {
+    private static final Log log = LogFactory.getLog(AddressEndpoint.class);
 
     private String name;
     private boolean active = true;
     private Endpoint parentEndpoint = null;
     private EndpointDefinition endpointDefinition = null;
 
-    public void send(MessageContext synMessageContext) {
+    public void send(MessageContext synCtx) {
 
+        String eprAddress = null;
+        if (endpointDefinition.getAddress() != null) {
+            eprAddress = endpointDefinition.getAddress().toString();
+
+            if (endpointDefinition.isForcePOX()) {
+                synCtx.setDoingPOX(true);
+            } else if (endpointDefinition.isForceSOAP()) {
+                synCtx.setDoingPOX(false);
+            }
+
+            if (endpointDefinition.isUseMTOM()) {
+                synCtx.setDoingMTOM(true);
+                // fix / workaround for AXIS2-1798
+                ((Axis2MessageContext) synCtx).getAxis2MessageContext().setProperty(
+                    org.apache.axis2.Constants.Configuration.ENABLE_MTOM,
+                    org.apache.axis2.Constants.VALUE_TRUE);
+            } else if (endpointDefinition.isUseSwa()) {
+                synCtx.setDoingSWA(true);
+                // fix / workaround for AXIS2-1798
+                ((Axis2MessageContext) synCtx).getAxis2MessageContext().setProperty(
+                    org.apache.axis2.Constants.Configuration.ENABLE_MTOM,
+                    org.apache.axis2.Constants.VALUE_TRUE);
+            }
+
+            if (endpointDefinition.isUseSeparateListener()) {
+                synCtx.setProperty(Constants.OUTFLOW_USE_SEPARATE_LISTENER, Boolean.TRUE);
+            }
+
+            String endPointName = this.getName();
+
+            // Setting Required property to collect the End Point statistics
+            boolean statisticsEnable = (org.apache.synapse.Constants.STATISTICS_ON == endpointDefinition.getStatisticsEnable());
+            if (endPointName != null && statisticsEnable) {
+                EndPointStatisticsStack endPointStatisticsStack = new EndPointStatisticsStack();
+                boolean isFault =synCtx.getEnvelope().getBody().hasFault();
+                endPointStatisticsStack.put(endPointName, System.currentTimeMillis(), !synCtx.isResponse(), statisticsEnable,isFault);
+                synCtx.setProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK, endPointStatisticsStack);
+            }
+            synCtx.setTo(new EndpointReference(eprAddress));
+
+            if (log.isDebugEnabled()) {
+                log.debug("Sending message to endpoint :: name = " +
+                        endPointName + " resolved address = " + eprAddress);
+                log.debug("Sending To: " + (synCtx.getTo() != null ?
+                        synCtx.getTo().getAddress() : "null"));
+                log.debug("SOAPAction: " + (synCtx.getWSAAction() != null ?
+                        synCtx.getWSAAction() : "null"));
+                log.debug("Body : \n" + synCtx.getEnvelope());
+            }
+
+            // if RM is turned on
+            if (endpointDefinition.isReliableMessagingOn()) {
+                synCtx.setProperty(Constants.OUTFLOW_ADDRESSING_ON, Boolean.TRUE);
+                synCtx.setProperty(Constants.OUTFLOW_RM_ON, Boolean.TRUE);
+                if (endpointDefinition.getWsRMPolicyKey() != null) {
+                    synCtx.setProperty(Constants.OUTFLOW_RM_POLICY,
+                            endpointDefinition.getWsRMPolicyKey());
+                }
+            }
+
+            // if WS Security is specified
+            if (endpointDefinition.isSecurityOn()) {
+                synCtx.setProperty(Constants.OUTFLOW_ADDRESSING_ON, Boolean.TRUE);
+                synCtx.setProperty(Constants.OUTFLOW_SECURITY_ON, Boolean.TRUE);
+                if (endpointDefinition.getWsSecPolicyKey() != null) {
+                    synCtx.setProperty(Constants.OUTFLOW_SEC_POLICY,
+                            endpointDefinition.getWsSecPolicyKey());
+                }
+            }
+
+            // if WS Addressing is specified
+            if (endpointDefinition.isAddressingOn()) {
+                synCtx.setProperty(Constants.OUTFLOW_ADDRESSING_ON, Boolean.TRUE);
+            }
+
+            synCtx.pushFaultHandler(this);
+            synCtx.getEnvironment().send(endpointDefinition, synCtx);
+        }
     }
 
-    public void onChildEndpointFail(Endpoint endpoint, MessageContext synMessageContext) {
+    public void onFault(MessageContext synCtx) {
+         // perform retries here
 
+        // if this endpoint has actually failed, inform the parent.
+        if (parentEndpoint != null) {
+            parentEndpoint.onChildEndpointFail(this, synCtx);
+        } else {
+            Stack faultStack = synCtx.getFaultStack();
+            if (!faultStack.isEmpty()) {
+                ((FaultHandler) faultStack.pop()).handleFault(synCtx);
+            }
+        }
+    }
+
+    public void onChildEndpointFail(Endpoint endpoint, MessageContext synMessageContext) {
+        // WSDLEndpoint does not contain any child endpoints. So this method will never be called.
     }
 
     public String getName() {
@@ -51,7 +163,7 @@
 
     public void setActive(boolean active) {
         this.active = active;
-    }   
+    }
 
     public void setParentEndpoint(Endpoint parentEndpoint) {
         this.parentEndpoint = parentEndpoint;

Copied: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/utils/EndpointDefinition.java (from r517189, webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/EndpointDefinition.java)
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/utils/EndpointDefinition.java?view=diff&rev=517197&p1=webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/EndpointDefinition.java&r1=517189&p2=webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/utils/EndpointDefinition.java&r2=517197
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/EndpointDefinition.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/utils/EndpointDefinition.java Mon Mar 12 06:04:47 2007
@@ -17,7 +17,7 @@
  *  under the License.
  */
 
-package org.apache.synapse.config;
+package org.apache.synapse.endpoints.utils;
 
 import org.apache.synapse.Constants;
 



---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org