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