Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 은 분산분배 환경에서 구조적 데이터를 주고 받기 위한 lightweight protocol이다. Goovy는 SOAP서버나 SOAP서버로 부터 리모트 Call을 만들 수 있게 해주는

Wiki Markup
{link:Xfire |http://xfire.codehaus.org}{link}

기반으로 SOAP을 구현했다.
 

Installation

Excerpt
Wiki Markup
 $
{user.home}

/.groovy/lib안에 [이 jar |http://dist.codehaus.org/groovy/jars/groovysoap-all-jsr06-0.1.jar]파일을 다운로드 받아야 만한다. 이 jar 파일은 [groovy-1.0-JSR-06|http://dist.codehaus.org/groovy/distributions/groovy-1.0-jsr-06.zip]이 요구된다. 


...

이 예제는 Groovy SOAP으로 사용자 정의 데이터 타잎을 어떻게 사용하는지를 보여준다. 이코드는 here|^custom.zip\에서 다운로드 받을 수 있다.

The Server

...

Code Block
java
java
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
java
java
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
}

결과: Image Added