...
은 분산분배 환경에서 구조적 데이터를 주고 받기 위한 lightweight protocol이다. Goovy는 SOAP서버나 SOAP서버로 부터 리모트 Call을 만들 수 있게 해주는
| Wiki Markup |
|---|
{link:Xfire |http://xfire.codehaus.org}{link} |
기반으로 SOAP을 구현했다.
Installation
| Excerpt | ||
|---|---|---|
|
...
이 예제는 Groovy SOAP으로 사용자 정의 데이터 타잎을 어떻게 사용하는지를 보여준다. 이코드는 here|^custom.zip\에서 다운로드 받을 수 있다.
The Server
...
| Code Block | ||
|---|---|---|
| ||
import groovy.net.soap.SoapServer
def server = new SoapServer("localhost", 6980)
server.setNode("ImageService")
server.start()
|
그리고 보호와 보이지 않는 부분은 here.|^ImageService.groovy\[]이다.
Demos with public web services
...
| Code Block | ||
|---|---|---|
| ||
import groovy.swing.SwingBuilder
import groovy.net.soap.SoapClient
proxy = new SoapClient("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL")
def currency = ['USD', 'EUR', 'CAD', 'GBP', 'AUD']
def rate = 0.0
swing = new SwingBuilder()
refresh = swing.action(
name:'Refresh',
closure:this.&refreshText,
mnemonic:'R'
)
frame = swing.frame(title:'Currency Demo') {
panel {
label 'Currency rate from '
comboBox(id:'from', items:currency)
label ' to '
comboBox(id:'to', items:currency)
label ' is '
textField(id:'currency', columns:10, rate.toString())
button(text:'Go !', action:refresh)
}
}
frame.pack()
frame.show()
def refreshText(event) {
rate = proxy.ConversionRate(swing.from.getSelectedItem(), swing.to.getSelectedItem())
swing.currency.text = rate
}
|
결과: 