synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bhatt <gazab.cha...@gmail.com>
Subject Re: how to use groovy script to mediate in synapse
Date Wed, 30 Jan 2008 16:23:00 GMT

Many Thanks Paul and Asankha for helping me. I am able to run an inline
groovy script in Synapse now.
Groovy and Synapse make a deadly combination for sure. No need of hardcoded
java dblookup mediator for me now. 

-Bhatt


pzfreo wrote:
> 
> You might also like to check out the video of a presentation I made about
> it:
> 
> http://www.theserverside.com/news/thread.tss?thread_id=47757
> 
> Paul
> 
> On Jan 24, 2008 3:52 PM, Asankha C. Perera <asankha@wso2.com> wrote:
>> Hi Bhatt
>> > I am using synapse 1.1 binary distribution  and want to use groovy
>> script to
>> > mediate. I couldn't find any example in this distribution on groovy
>> mediation.
>> >
>> Yes, but since Groovy is an Apache BSF scripting language, it gets
>> automatically supported by Synapse. So all you have to do is write your
>> script and make it available to a script mediator. You have to point to
>> an external script or specify it in-line, and also tell synapse which
>> type of script it is..
>> > 1. Which synapse distribution has groovy examples ("hello world" etc) /
>> > support?
>> >
>> > 2. Should I compile "service.groovy" to bytecode and put somewhere in
>> > synapse?
>> >
>> Here is a sample Groovy in-line script I used recently to create a HTTP
>> basic authentication header...
>>
>> <syn:script language="groovy">byte[] username =
>> mc.getProperty("username").getBytes();
>> byte[] password = mc.getProperty("password").getBytes();
>> byte[] authString = new byte[username.length + password.length + 1];
>> System.arraycopy(username, 0, authString, 0, username.length);
>> authString[username.length] = (byte) ':';
>> System.arraycopy(password, 0, authString, username.length+1,
>> password.length);
>> mc.setProperty("Authorization", "Basic " +
>> org.apache.axiom.om.util.Base64.encode(authString));</syn:script>
>>
>> > 3. Referring to the folowing link
>> >
>> http://wso2.org/project/esb/java/1.0/docs/ESB_Samples.html#ExtensionMediators
>> > I tried to add the following lines in an existing sample
>> >
>> > <localEntry key="groovyScript"
>> > src="file:repository/conf/sample/resources/script/service.groovy"/>
>> > <script language="groovy" key="groovyScript"/>
>> >
>> > where service.groovy has the following lines:
>> > def name='World'; println "Hello $name!"
>> >
>> > Now I tried to start a synapse configuration and I got the following
>> > exception:
>> >
>> > .......
>> > .......
>> > 2008-01-24 20:40:17,811 [10.140.15.208-petris-chandra] [main]  INFO
>> > XMLConfigurationBuilder Generating the Synapse configuration model by
>> parsing the XML
>> > .......
>> > .......
>> >
>> > Please help me so that groovy script can mediate.
>> >
>> Wrap the actual [external] Groovy script as any XML as follows: (Refer
>> Sample # 350
>> http://ws.apache.org/synapse/Synapse_Samples.html#ScriptMediator)
>>
>> <x><![CDATA[
>> def name='World'; println "Hello $name!"
>> ]]></x>
>>
>> asankha
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>> For additional commands, e-mail: dev-help@synapse.apache.org
>>
>>
> 
> 
> 
> -- 
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> OASIS WS-RX TC Co-chair
> 
> blog: http://pzf.fremantle.org
> paul@wso2.com
> 
> "Oxygenating the Web Service Platform", www.wso2.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
> 
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/how-to-use-groovy-script-to-mediate-in-synapse-tp15066002p15184531.html
Sent from the Synapse - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message