I’m learning Groovy at the moment, and having an absolute ball. If you haven’t played with it for a while, jump on in - things seem very stable these days. I’m finding I’m using it all the time for little scripts.

I’ve also had a chance to review a close-to-final Groovy In Action and I gotta tell you that this is gonna be one sensational book. Very accessible writing style coupled with deep technical content and killer examples - it will be the definitive work on Groovy.

Today I’ve been playing with GroovySOAP - very groovy little library for web services. In the mood for some world cup action? (I know, the Australian Socceroos are out through a VERY SOFT penalty in the last minute of extra time). One of my mates send me the wsdl for a World Cup Web Service so I figured I have a crack at a client:

import groovy.net.soap.SoapClient

def proxy =
    new SoapClient("http://www.dataaccess.nl/wk2006/footballpoolwebservice.wso?WSDL")

println "nn  Cities Hosting Games:  nn"
proxy.Cities().each() { city -> println "${city}" }

println "nn  Teams and their Flags:  nn";
println proxy.Teams().getMtTeamInfo().each {
    team -> println "${team.msName}tt${team.msCountryFlag}"
}

Very groovy! I’m hoping to rewrite the crypto libraries for my PasswordSafeSWT app in Groovy since ranges just make byte operations so darn easy. I’m finding anytime I have to dealing with anything to do with datastructures I wish I was coding in Groovy…

Olay, Olay, Olay! Groovy, Groovy!