おそらく最も簡単なアプローチは、WSDLファイルでwsimportを使用して、クライアント側のスタブを生成することです。次に、Javaから呼び出すのと同じように、Groovyからスタブのメソッドを呼び出すことができます。
たとえば、http: //terraservice.net/TerraService.asmx?wsdlにあるMicrosoftのTerraServerのWSDLファイルについて考えてみます。次に、次のようなものを実行します
wsimport -d src -keep http://terraservice.net/TerraService.asmx?WSDL
これにより、コンパイルされたすべてのスタブがsrcディレクトリに配置されます。次に、次のようなGroovyコードを記述できます。
import com.terraserver_usa.terraserver.*;
TerraServiceSoap sei = new TerraService().getTerraServiceSoap()
Place home = new Place(city:'Boston',state:'MA',country:'US')
def pt = sei.convertPlaceToLonLatPt(home)
println "$pt.lat, $pt.lon"
assert Math.abs(pt.lat - 42.360000) < 0.001
assert Math.abs(pt.lon - -71.05000) < 0.001
多くのWebサービスにアクセスする場合は、それらすべてのスタブを生成します。または、代わりに動的プロキシを使用できます。
ただし、肝心なのは、Javaにすでにうまく機能していることを実行させ、Groovyを使用して作業を楽にすることです。