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]