Crappy Synapse Config


/ Published in: XML
Save to your folder(s)



Copy this code and paste it in your HTML
  1. <?xml version="1.0"?>
  2. <definitions xmlns="http://ws.apache.org/ns/synapse" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  3. <!--
  4. <proxy name="MicroBlog" transports="vfs">
  5. <parameter name="transport.vfs.FileURI">file:///Users/hoggarth/Development/synase_present/test/in</parameter>
  6. <parameter name="transport.vfs.ContentType">text/xml</parameter>
  7. <parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
  8. <parameter name="transport.PollInterval">15</parameter>
  9. <parameter name="transport.vfs.MoveAfterProcess">file:///Users/hoggarth/Development/synase_present/test/original</parameter>
  10. <parameter name="transport.vfs.MoveAfterFailure">file:///Users/hoggarth/Development/synase_present/test/original</parameter>
  11. <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
  12. <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
  13. -->
  14. <proxy name="MicroBlog" transports="http">
  15. <target>
  16. <outSequence>
  17. <log separator=",">
  18. <property name="MESSAGE" value="OUT"/>
  19. </log>
  20. <send>
  21. <endpoint>
  22. <address uri="vfs:file:///Users/hoggarth/Development/synase_present/test/out"/>
  23. </endpoint>
  24. </send>
  25. </outSequence>
  26. <inSequence>
  27. <log separator=",">
  28. <property name="MESSAGE" value="IN"/>
  29. <property name="update-message" expression="//message"/>
  30. <property name="root" expression="name(//soapenv:Body/*[position()=1])"/>
  31. </log>
  32. <switch source="name(//soapenv:Body/*[position()=1])">
  33. <case regex="update">
  34. <dbreport>
  35. <connection>
  36. <pool>
  37. <driver>org.apache.derby.jdbc.ClientDriver</driver>
  38. <url>jdbc:derby://localhost:1527/microblog;user=synapse;password=synapse;create=false</url>
  39. <user>synapse</user>
  40. <password>synapse</password>
  41. </pool>
  42. </connection>
  43. <statement>
  44. <sql>INSERT INTO status (status) VALUES (?)</sql>
  45. <parameter expression="//message/child::text()" type="VARCHAR"/>
  46. </statement>
  47. </dbreport>
  48. <script language="js">
  49. mc.setPayloadXML(
  50. &amp;lt;greeting&amp;gt;Hello World&amp;lt;/greeting&amp;gt;
  51. );
  52. </script>
  53. </case>
  54. <case regex="timeline">
  55. <log separator=",">
  56. <property name="MESSAGE" value="TIMELINE"/>
  57. </log>
  58. <dblookup>
  59. <connection>
  60. <pool>
  61. <driver>org.apache.derby.jdbc.ClientDriver</driver>
  62. <url>jdbc:derby://localhost:1527/microblog;user=synapse;password=synapse;create=false</url>
  63. <user>synapse</user>
  64. <password>synapse</password>
  65. </pool>
  66. </connection>
  67. <statement>
  68. <sql>SELECT * FROM STATUS ORDER BY ID DESC FETCH FIRST ROW ONLY</sql>
  69. <result name="status_1" column="status"/>
  70. </statement>
  71. <statement>
  72. <sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 1 ROW FETCH FIRST ROW ONLY</sql>
  73. <result name="status_2" column="status"/>
  74. </statement>
  75. <statement>
  76. <sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 2 ROWS FETCH FIRST ROW ONLY</sql>
  77. <result name="status_3" column="status"/>
  78. </statement>
  79. <statement>
  80. <sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 3 ROWS FETCH FIRST ROW ONLY</sql>
  81. <result name="status_4" column="status"/>
  82. </statement>
  83. <statement>
  84. <sql>SELECT * FROM STATUS ORDER BY ID DESC OFFSET 4 ROWS FETCH FIRST ROW ONLY</sql>
  85. <result name="status_5" column="status"/>
  86. </statement>
  87. </dblookup>
  88. <script language="js">
  89. mc.setPayloadXML(new XML("&amp;lt;timeline&amp;gt;"
  90. + "&amp;lt;message&amp;gt;" + mc.getProperty("status_1") + "&amp;lt;/message&amp;gt;"
  91. + "&amp;lt;message&amp;gt;" + mc.getProperty("status_2") + "&amp;lt;/message&amp;gt;"
  92. + "&amp;lt;message&amp;gt;" + mc.getProperty("status_3") + "&amp;lt;/message&amp;gt;"
  93. + "&amp;lt;message&amp;gt;" + mc.getProperty("status_4") + "&amp;lt;/message&amp;gt;"
  94. + "&amp;lt;message&amp;gt;" + mc.getProperty("status_5") + "&amp;lt;/message&amp;gt;"
  95. + "&amp;lt;/timeline&amp;gt;")
  96. );
  97. </script>
  98. </case>
  99. </switch>
  100. <header name="To" action="remove"/>
  101. <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
  102. <property name="RESPONSE" value="true"/>
  103. <send/>
  104. </inSequence>
  105. </target>
  106. <publishWSDL uri="file:../src/resources/proxy/hello.wsdl"/>
  107. </proxy>
  108. <proxy name="Twitter" transports="http">
  109. <target>
  110. <outSequence>
  111. <log separator=",">
  112. <property name="MESSAGE" value="OUT"/>
  113. </log>
  114. <send/>
  115. </outSequence>
  116. <inSequence>
  117. <log separator=",">
  118. <property name="MESSAGE" value="IN"/>
  119. <property name="update-message" expression="//message"/>
  120. <property name="root" expression="name(//soapenv:Body/*[position()=1])"/>
  121. </log>
  122. <switch source="name(//soapenv:Body/*[position()=1])">
  123. <case regex="update">
  124. <xslt key="transform/twitter_update.xslt"/>
  125. <property name="Authorization" value="Basic c3luYXBzZV9wcmVzZW50OnN5bmFwc2U=" scope="transport"/>
  126. <send>
  127. <endpoint>
  128. <!--
  129. <address uri="http://twitter.com/statuses/update.xml" format="pox"/>
  130. -->
  131. <address uri="http://localhost:9000/statuses/update.xml" format="pox"/>
  132. </endpoint>
  133. </send>
  134. </case>
  135. <case regex="timeline">
  136. <xslt key="transform/twitter_timeline.xslt"/>
  137. <!--
  138. <property name="Authorization" value="Basic c3luYXBzZV9wcmVzZW50OnN5bmFwc2U=" scope="transport"/>
  139. -->
  140. <send>
  141. <endpoint>
  142. <address uri="http://localhost:9000/statuses" format="get"/>
  143. </endpoint>
  144. </send>
  145. </case>
  146. </switch>
  147. <!--
  148. <script language="js">
  149. mc.setPayloadXML(
  150. &amp;lt;greeting&amp;gt;Hello World&amp;lt;/greeting&amp;gt;
  151. );
  152. </script>
  153. <header name="To" action="remove"/>
  154. <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
  155. <property name="RESPONSE" value="true"/>
  156. <send/>
  157. -->
  158. </inSequence>
  159. </target>
  160. <publishWSDL uri="file:../src/resources/proxy/hello.wsdl"/>
  161. </proxy>
  162. <registry provider="org.apache.synapse.registry.url.SimpleURLRegistry">
  163. <parameter name="root">file:../src/resources/</parameter>
  164. <parameter name="cachableDuration">15000</parameter>
  165. </registry>
  166. </definitions>

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.