Author: antelder
Date: Sat Dec  2 08:52:52 2006
New Revision: 481579

URL: http://svn.apache.org/viewvc?view=rev&rev=481579
Log:
Add a script sample using Ruby

Added:
    
incubator/synapse/trunk/java/repository/conf/sample/resources/script/stockquoteTransform.rb
   (with props)
    incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml  
 (with props)

Added: 
incubator/synapse/trunk/java/repository/conf/sample/resources/script/stockquoteTransform.rb
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/repository/conf/sample/resources/script/stockquoteTransform.rb?view=auto&rev=481579
==============================================================================
--- 
incubator/synapse/trunk/java/repository/conf/sample/resources/script/stockquoteTransform.rb
 (added)
+++ 
incubator/synapse/trunk/java/repository/conf/sample/resources/script/stockquoteTransform.rb
 Sat Dec  2 08:52:52 2006
@@ -0,0 +1,52 @@
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing,
+  ~  software distributed under the License is distributed on an
+  ~   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~  KIND, either express or implied.  See the License for the
+  ~  specific language governing permissions and limitations
+  ~  under the License.
+  -->
+<x><![CDATA[
+
+require 'rexml/document'
+include REXML
+
+def transformRequest(mc) 
+   newRequest= Document.new($REQUEST)
+   newRequest.root.elements[1].text = 
mc.getPayloadXML().root.elements[1].get_text
+   mc.setPayloadXML(newRequest)
+end
+
+def transformResponse(mc) 
+   newResponse = Document.new($RESPONSE)
+   newResponse.root.elements[1].text = 
mc.getPayloadXML().root.elements[1].elements[1].get_text
+   newResponse.root.elements[2].text = 
mc.getPayloadXML().root.elements[1].elements[2].get_text
+   mc.setPayloadXML(newResponse)
+end
+
+$REQUEST = <<EOF
+   <m:getQuote xmlns:m="http://services.samples/xsd";>
+      <m:request>
+         <m:symbol></m:symbol>
+      </m:request>
+   </m:getQuote>
+EOF
+
+$RESPONSE = <<EOF
+   <m:CheckPriceResponse xmlns:m="http://www.apache-synapse.org/test";>
+      <m:Code></m:Code>
+      <m:Price></m:Price>
+   </m:CheckPriceResponse>
+EOF
+
+]]></x>

Propchange: 
incubator/synapse/trunk/java/repository/conf/sample/resources/script/stockquoteTransform.rb
------------------------------------------------------------------------------
    eol-style = native

Added: 
incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml
URL: 
http://svn.apache.org/viewvc/incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml?view=auto&rev=481579
==============================================================================
--- incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml 
(added)
+++ incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml 
Sat Dec  2 08:52:52 2006
@@ -0,0 +1,54 @@
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing,
+  ~  software distributed under the License is distributed on an
+  ~   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~  KIND, either express or implied.  See the License for the
+  ~  specific language governing permissions and limitations
+  ~  under the License.
+  -->
+
+<synapse xmlns="http://ws.apache.org/ns/synapse";>
+
+    <!-- Introduction to the script mediator with Ruby scripts-->
+
+    <definitions>
+
+        <!-- define a static property for the JRuby source code file -->
+        <set-property name="stockquoteScript" 
src="file:repository/conf/sample/resources/script/stockquoteTransform.rb"/>
+
+        <!-- define a reuseable endpoint definition and use it within config 
-->
+        <endpoint name="stockquote" 
address="http://localhost:9000/axis2/services/SimpleStockQuoteService"/>
+
+    </definitions>
+
+    <rules>
+        <in>
+            <!-- transform the custom quote request into a standard quote 
request expected by the service -->
+            <script key="stockquoteScript" function="transformRequest"/>
+
+            <!-- send message to real endpoint referenced by name "stockquote" 
and stop -->
+            <send>
+                <endpoint ref="stockquote"/>
+            </send>
+        </in>
+
+        <out>
+            <!-- transform the standard response back into the custom format 
the client expects -->
+            <script key="stockquoteScript" function="transformResponse"/>
+
+            <!-- now send the custom response back to the client and stop -->
+            <send/>
+        </out>
+    </rules>
+
+</synapse> 
\ No newline at end of file

Propchange: 
incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
incubator/synapse/trunk/java/repository/conf/sample/synapse_sample_503.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to