Revision: 22352
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 10, 2010 17:39 by hoggarth
Initial Code
<?xml version="1.0"?>
<definitions xmlns="http://ws.apache.org/ns/synapse" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<!--
<proxy name="MicroBlog" transports="vfs">
<parameter name="transport.vfs.FileURI">file:///Users/hoggarth/Development/synase_present/test/in</parameter>
<parameter name="transport.vfs.ContentType">text/xml</parameter>
<parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
<parameter name="transport.PollInterval">15</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///Users/hoggarth/Development/synase_present/test/original</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file:///Users/hoggarth/Development/synase_present/test/original</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
-->
<proxy name="MicroBlog" transports="http">
<target>
<outSequence>
<log separator=",">
<property name="MESSAGE" value="OUT"/>
</log>
<send>
<endpoint>
<address uri="vfs:file:///Users/hoggarth/Development/synase_present/test/out"/>
</endpoint>
</send>
</outSequence>
<inSequence>
<log separator=",">
<property name="MESSAGE" value="IN"/>
<property name="update-message" expression="//message"/>
<property name="root" expression="name(//soapenv:Body/*[position()=1])"/>
</log>
<switch source="name(//soapenv:Body/*[position()=1])">
<case regex="update">
<dbreport>
<connection>
<pool>
<driver>org.apache.derby.jdbc.ClientDriver</driver>
<url>jdbc:derby://localhost:1527/microblog;user=synapse;password=synapse;create=false</url>
<user>synapse</user>
<password>synapse</password>
</pool>
</connection>
<statement>
<sql>INSERT INTO status (status) VALUES (?)</sql>
<parameter expression="//message/child::text()" type="VARCHAR"/>
</statement>
</dbreport>
<script language="js">
mc.setPayloadXML(
&lt;greeting&gt;Hello World&lt;/greeting&gt;
);
</script>
</case>
<case regex="timeline">
<log separator=",">
<property name="MESSAGE" value="TIMELINE"/>
</log>
<dblookup>
<connection>
<pool>
<driver>org.apache.derby.jdbc.ClientDriver</driver>
<url>jdbc:derby://localhost:1527/microblog;user=synapse;password=synapse;create=false</url>
<user>synapse</user>
<password>synapse</password>
</pool>
</connection>
<statement>
<sql>SELECT * FROM STATUS ORDER BY ID DESC FETCH FIRST ROW ONLY</sql>
<result name="status_1" column="status"/>
</statement>
<statement>
<sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 1 ROW FETCH FIRST ROW ONLY</sql>
<result name="status_2" column="status"/>
</statement>
<statement>
<sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 2 ROWS FETCH FIRST ROW ONLY</sql>
<result name="status_3" column="status"/>
</statement>
<statement>
<sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 3 ROWS FETCH FIRST ROW ONLY</sql>
<result name="status_4" column="status"/>
</statement>
<statement>
<sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 4 ROWS FETCH FIRST ROW ONLY</sql>
<result name="status_5" column="status"/>
</statement>
</dblookup>
<script language="js">
mc.setPayloadXML(new XML("&lt;timeline&gt;"
+ "&lt;message&gt;" + mc.getProperty("status_1") + "&lt;/message&gt;"
+ "&lt;message&gt;" + mc.getProperty("status_2") + "&lt;/message&gt;"
+ "&lt;message&gt;" + mc.getProperty("status_3") + "&lt;/message&gt;"
+ "&lt;message&gt;" + mc.getProperty("status_4") + "&lt;/message&gt;"
+ "&lt;message&gt;" + mc.getProperty("status_5") + "&lt;/message&gt;"
+ "&lt;/timeline&gt;")
);
</script>
</case>
</switch>
<header name="To" action="remove"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<property name="RESPONSE" value="true"/>
<send/>
</inSequence>
</target>
<publishWSDL uri="file:../src/resources/proxy/hello.wsdl"/>
</proxy>
<proxy name="Twitter" transports="http">
<target>
<outSequence>
<log separator=",">
<property name="MESSAGE" value="OUT"/>
</log>
<send/>
</outSequence>
<inSequence>
<log separator=",">
<property name="MESSAGE" value="IN"/>
<property name="update-message" expression="//message"/>
<property name="root" expression="name(//soapenv:Body/*[position()=1])"/>
</log>
<switch source="name(//soapenv:Body/*[position()=1])">
<case regex="update">
<xslt key="transform/twitter_update.xslt"/>
<property name="Authorization" value="Basic c3luYXBzZV9wcmVzZW50OnN5bmFwc2U=" scope="transport"/>
<send>
<endpoint>
<!--
<address uri="http://twitter.com/statuses/update.xml" format="pox"/>
-->
<address uri="http://localhost:9000/statuses/update.xml" format="pox"/>
</endpoint>
</send>
</case>
<case regex="timeline">
<xslt key="transform/twitter_timeline.xslt"/>
<!--
<property name="Authorization" value="Basic c3luYXBzZV9wcmVzZW50OnN5bmFwc2U=" scope="transport"/>
-->
<send>
<endpoint>
<address uri="http://localhost:9000/statuses" format="get"/>
</endpoint>
</send>
</case>
</switch>
<!--
<script language="js">
mc.setPayloadXML(
&lt;greeting&gt;Hello World&lt;/greeting&gt;
);
</script>
<header name="To" action="remove"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<property name="RESPONSE" value="true"/>
<send/>
-->
</inSequence>
</target>
<publishWSDL uri="file:../src/resources/proxy/hello.wsdl"/>
</proxy>
<registry provider="org.apache.synapse.registry.url.SimpleURLRegistry">
<parameter name="root">file:../src/resources/</parameter>
<parameter name="cachableDuration">15000</parameter>
</registry>
</definitions>
Initial URL
Initial Description
Initial Title
Crappy Synapse Config
Initial Tags
Initial Language
XML