Known Limitations:
1. The WAR distribution of Synapse will not work - under review
2. synapse.sh and custom.sh for Unix environments needs to be created as
per the Windows equivalents
3. XDocs - User Guide and Mediator writing guide needs to be updated
asankha
Index: bin/web.xml
===================================================================
--- bin/web.xml (revision 405612)
+++ bin/web.xml (working copy)
@@ -8,10 +8,37 @@
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>
- org.apache.axis2.transport.http.AxisServlet
- </servlet-class>
+ org.apache.axis2.transport.http.AxisServlet</servlet-class>
+ <!--<init-param>-->
+ <!--<param-name>axis2.xml.path</param-name>-->
+ <!--<param-value>/WEB-INF/conf/axis2.xml</param-value>-->
+ <!--<param-name>axis2.xml.url</param-name>-->
+ <!--<param-value>http://localhot/myrepo/axis2.xml</param-value>-->
+ <!--<param-name>axis2.repository.path</param-name>-->
+ <!--<param-value>/WEB-INF</param-value>-->
+ <!--<param-name>axis2.repository.url</param-name>-->
+ <!--<param-value>http://localhot/myrepo</param-value>-->
+ <!--</init-param>-->
+ <load-on-startup>1</load-on-startup>
</servlet>
+ <servlet>
+ <servlet-name>AxisRESTServlet</servlet-name>
+ <display-name>Apache-Axis Servlet (REST)</display-name>
+ <servlet-class>
+ org.apache.axis2.transport.http.AxisRESTServlet</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>AxisAdminServlet</servlet-name>
+ <display-name>Apache-Axis AxisAdmin Servlet (REST)</display-name>
+ <servlet-class>
+ org.apache.axis2.transport.http.AxisAdminServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>AxisRESTServlet</servlet-name>
+ <url-pattern>/rest/*</url-pattern>
+ </servlet-mapping>
+
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
@@ -24,103 +51,27 @@
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listServices</url-pattern>
+ <url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listService</url-pattern>
+ <servlet-name>AxisAdminServlet</servlet-name>
+ <url-pattern>/axis2-admin/*</url-pattern>
</servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listModules</url-pattern>
- </servlet-mapping>
+ <welcome-file-list>
+ <welcome-file>/axis2-web/index.jsp</welcome-file>
+ </welcome-file-list>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/globalModules</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listPhases</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/engagingglobally</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/engageToService</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/adminlogin</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/viewGlobalHandlers</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/selectService</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/viewServiceHandlers</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listoperation</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listOperations</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/servicedit</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/removeService</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/editServicepara</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/selectServiceParaEdit</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listServciceGroups</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/engageToServiceGroup</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/listContexts</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/logout</url-pattern>
- </servlet-mapping>
<error-page>
- <exception-type>
-
org.apache.axis2.transport.http.server.AdminAppException</exception-type>
- <location>/Error/AuthError.html</location>
+ <error-code>404</error-code>
+ <location>/axis2-web/Error/error404.jsp</location>
</error-page>
- <!--error-page>
- <exception-type>java.lang.Exception</exception-type>
- <location>/Error/GenError.html</location>
- </error-page-->
+ <error-page>
+ <error-code>500</error-code>
+ <location>/axis2-web/Error/error500.jsp</location>
+ </error-page>
+
+
</web-app>
Index: etc/project.properties
===================================================================
--- etc/project.properties (revision 407499)
+++ etc/project.properties (working copy)
@@ -80,7 +80,7 @@
optional.includes=
maven.multiproject.includes=\
modules/core/project.xml,\
-#modules/mediators/project.xml,\
+modules/mediators/project.xml,\
modules/samples/project.xml,\
modules/extensions/project.xml,\
${optional.includes}
Index: modules/core/maven.xml
===================================================================
--- modules/core/maven.xml (revision 407767)
+++ modules/core/maven.xml (working copy)
@@ -47,6 +47,11 @@
<mkdir dir="target/synapse-repository/modules"/>
<copy
file="../../repository/modules/addressing-${addressing.version}.mar"
tofile="target/synapse-repository/modules/addressing-${addressing.version}.mar"/>
+ <copy todir="target/synapse-repository/conf">
+ <fileset dir="../../repository/conf">
+ <include name="**"/>
+ </fileset>
+ </copy>
<ant:delete dir="target/modules"/>
<ant:delete dir="target/services"/>
Index:
modules/extensions/src/org/apache/synapse/config/xml/SpringConfigExtensionFactory.java
===================================================================
---
modules/extensions/src/org/apache/synapse/config/xml/SpringConfigExtensionFactory.java
(revision 407550)
+++
modules/extensions/src/org/apache/synapse/config/xml/SpringConfigExtensionFactory.java
(working copy)
@@ -28,6 +28,8 @@
/**
* Creates a Spring configuration extension from XML configuration. A Spring
* configuration extension keeps Spring away from the core of synapse
+ *
+ * <spring:config name="string" src="file"/>
*/
public class SpringConfigExtensionFactory implements ExtensionFactory {
Index:
modules/mediators/src/org/apache/synapse/mediators/deprecation/DeprecationMediator.java
===================================================================
---
modules/mediators/src/org/apache/synapse/mediators/deprecation/DeprecationMediator.java
(revision 405612)
+++
modules/mediators/src/org/apache/synapse/mediators/deprecation/DeprecationMediator.java
(working copy)
@@ -16,8 +16,8 @@
package org.apache.synapse.mediators.deprecation;
-import org.apache.synapse.SynapseMessage;
-import org.apache.synapse.SynapseEnvironment;
+import org.apache.synapse.MessageContext;
+import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.api.Mediator;
import java.util.Map;
@@ -31,7 +31,7 @@
public DeprecationMediator() {
}
- public boolean mediate(SynapseMessage synapseMessageContext) {
+ public boolean mediate(MessageContext synapseMessageContext) {
try {
@@ -66,6 +66,10 @@
}
}
+ public String getType() {
+ return null;
+ }
+
private void loadConfiguration(Map mediatorConfig) {
configuration = new DeprecationConfiguration();
@@ -95,7 +99,7 @@
}
- public void setSynapseEnvironment(SynapseEnvironment se) {
+ public void setSynapseConfiguration(SynapseConfiguration se) {
//not used for now
}
Index: modules/mediators/src/org/apache/synapse/mediators/sla/SLAMediator.java
===================================================================
--- modules/mediators/src/org/apache/synapse/mediators/sla/SLAMediator.java
(revision 405612)
+++ modules/mediators/src/org/apache/synapse/mediators/sla/SLAMediator.java
(working copy)
@@ -16,8 +16,9 @@
package org.apache.synapse.mediators.sla;
-import org.apache.synapse.SynapseMessage;
-import org.apache.synapse.SynapseEnvironment;
+import org.apache.synapse.MessageContext;
+import org.apache.synapse.config.SynapseConfiguration;
+import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.api.Mediator;
@@ -27,81 +28,84 @@
import java.io.InputStream;
public class SLAMediator implements Mediator {
- private ClassLoader classLoader;
- private SynapseEnvironment se;
+ private ClassLoader classLoader;
- private Log log = LogFactory.getLog(getClass());
+ private SynapseConfiguration synCfg;
- public SLAMediator() {
- }
+ private Log log = LogFactory.getLog(getClass());
- public boolean mediate(SynapseMessage synapseMessageContext) {
+ public SLAMediator() {
+ }
- try {
- log.info("SLA Mediator!");
- // MessageContext mc =
- //
((Axis2SynapseMessage)synapseMessageContext).getMessageContext();
- String resource = SLAConstants.CFG_XML_FOLDER + "/"
- + SLAConstants.CFG_SLA_XML;
- InputStream inStream =
classLoader.getResourceAsStream(resource);
- final SLAConfigurator slaConfigurator = new
SLAConfigurator(
- inStream);
- SLAStack slaStack = null;
- try {
- if (se.getProperty("PRIORITY_STACK") != null) {
- slaStack = (SLAStack)
se.getProperty("PRIORITY_STACK");
- } else {
- slaStack = new SLAStack();
- se.setProperty("PRIORITY_STACK",
slaStack);
- }
- } catch (Exception ex) {
- log.info(ex);
+ public boolean mediate(MessageContext synCtx) {
- }
- String fromAddress = (String)
synapseMessageContext.getFrom()
- .getAddress();
- int priority = slaConfigurator.getPriority(fromAddress,
- synapseMessageContext.getTo());
- SLAObject slaObject = new SLAObject(priority, System
- .currentTimeMillis(), fromAddress);
- try {
- slaStack.addRequest(slaObject);
- } catch (Exception ex) {
- log.info(ex);
- }
+ try {
+ log.info("SLA Mediator!");
+ // MessageContext mc =
+ //
((Axis2SynapseMessage)synapseMessageContext).getMessageContext();
+ String resource = SLAConstants.CFG_XML_FOLDER + "/"
+ + SLAConstants.CFG_SLA_XML;
+ InputStream inStream = classLoader.getResourceAsStream(resource);
+ final SLAConfigurator slaConfigurator = new SLAConfigurator(
+ inStream);
+ SLAStack slaStack = null;
+ try {
+ if (synCfg.getProperty("PRIORITY_STACK") != null) {
+ slaStack = (SLAStack) synCfg.getProperty("PRIORITY_STACK");
+ } else {
+ slaStack = new SLAStack();
+ synCfg.addProperty("PRIORITY_STACK", slaStack);
+ }
+ } catch (Exception ex) {
+ log.info(ex);
- while (true) {
- if (!slaStack.isEmpty()) {
- SLAObject slaObjectStack = (SLAObject)
slaStack.get(0);
- if (slaObjectStack.equals(slaObject)) {
- slaStack.remove(0);
- break;
- }
- } else {
- break;
- }
- }
+ }
+ String fromAddress = (String) synCtx.getFrom()
+ .getAddress();
+ int priority = slaConfigurator.getPriority(fromAddress,
+ synCtx.getTo());
+ SLAObject slaObject = new SLAObject(priority, System
+ .currentTimeMillis(), fromAddress);
+ try {
+ slaStack.addRequest(slaObject);
+ } catch (Exception ex) {
+ log.info(ex);
+ }
- return true;
+ while (true) {
+ if (!slaStack.isEmpty()) {
+ SLAObject slaObjectStack = (SLAObject) slaStack.get(0);
+ if (slaObjectStack.equals(slaObject)) {
+ slaStack.remove(0);
+ break;
+ }
+ } else {
+ break;
+ }
+ }
- } catch (Exception e) {
- log.info(e);
- return false;
- }
- }
+ return true;
- public void setSynapseEnvironment(SynapseEnvironment se) {
+ } catch (Exception e) {
+ log.info(e);
+ return false;
+ }
+ }
- this.se = se;
- if (se != null) {
- log.info("ENVIRONMENT NOT NULL IN SLA");
- }
- }
+ public void setSynapseConfiguration(SynapseConfiguration se) {
- public void setClassLoader(ClassLoader cl) {
- this.classLoader = cl;
- }
+ this.synCfg = se;
+ if (se != null) {
+ log.info("ENVIRONMENT NOT NULL IN SLA");
+ }
+ }
+ public void setClassLoader(ClassLoader cl) {
+ this.classLoader = cl;
+ }
+ public String getType() {
+ return null;
+ }
}
Index: modules/samples/scripts/userguide/README.txt
===================================================================
--- modules/samples/scripts/userguide/README.txt (revision 407767)
+++ modules/samples/scripts/userguide/README.txt (working copy)
@@ -75,7 +75,8 @@
To start up this server, use the custom.bat or equivalent file.
To run the simple client to test this
configuration run the SimpleStockQuoteClient example from Ant.
The programatically created Synapse
configuration simply sends the messages coming into Synapse
using to thier implicit destinations.
- i.e. Using WS-A To address.
+ i.e. Using WS-A To address. This excercise will require you to
place the Spring.jar file into the <SYNAPSE>\lib
+ directory.
The test client can be started by ant simplequote
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]