-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

'SOAP4R' is an implementation of SOAP 1.1 (W3C Note).
RAA: http://raa.ruby-lang.org/project/soap4r
Release Note: http://dev.ctor.org/doc/soap4r/RELEASE_en.html

soap4r/1.5.8 is out. Version 1.5.8 has improved its XML Schema support,
such as class generation of XML Schema anonymous complexType, full
built-in datatypes support of XML Schema Datatypes, and more.

XML Schema feature of soap4r helps to build Ruby mapping of XML Web
services easier when the service has XML Schema definition.

ex1) Yahoo Local Search client

# You need to run xsd2ruby.rb to get the mapper first;
# xsd2ruby.rb --xsd
http://local.yahooapis.com/LocalSearchService/V2/LocalSearchResponse.xsd
- --classdef --mapping_registry --mapper --force
require 'lcl_mapper'
require 'httpclient'

req = {
  :appid => "YahooDemo",
  :query => "pizza",
  :zip => 94306,
  :results => 5
}

# use REST API
endpoint = "http://local.yahooapis.com/LocalSearchService/V2/localSearch"
resultxml = HTTPClient.get_content(endpoint, req)

# map the response to Ruby object
lcl_mapper = LclMapper.new
lcl_mapper.xml2obj(resultxml).result.each do |result|
  p [result.title, result.phone]
end

ex2) RSS Version 2.0

# You need to run xsd2ruby.rb first;
# xsd2ruby.rb --xsd "http://www.thearchitect.co.uk/schemas/rss-2_0.xsd" \
#   --classdef rss2 --mapping_registry --mapper --force
require 'rss2_mapper'
require 'httpclient'
require 'cgi'

# retrieve RSS with httpclient
rssxml =
HTTPClient.get_content("http://www.ruby-lang.org/en/feeds/news.rss")

# parse RSS according to the XML Schema for RSS 2.0
rss_mapper = Rss2Mapper.new
rss = rss_mapper.xml2obj(rssxml)
# update items; this example updates links to point to a local redirector.
rss.channel.item.each do |item|
  item.link.map! { |link|
    URI.parse("http://localhost/redirector?url=" + CGI.escape(link.to_s))
  }
end

# get updated RSS
puts rss_mapper.obj2xml(rss)

	/	/	/

changes:
  http://dev.ctor.org/soap4r/wiki/Changes-158

download:
  http://dev.ctor.org/download/soap4r-1.5.8.tar.gz
  http://dev.ctor.org/download/soap4r-1.5.8.zip

sha1sum:
  de22a95773df0c24e0b1138d11dc67164d07a608  soap4r-1.5.8.tar.gz
  213d3bcd5952a524f60845f1885e4f0485687e76  soap4r-1.5.8.zip

gem:
  % gem install soap4r --source http://dev.ctor.org/download/
  % gem update soap4r --source http://dev.ctor.org/download/

Thanks to all of soap4r-ml members and soap4r users for their support.

Regards,
// NaHi

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iQEVAwUBRvfNcx9L2jg5EEGlAQI/IQf/bepRU3T3L+lSxbk0clZGPgYR5hfqVHro
5Fg6/1SFv9G8R62zn4JOuckQIwuubRjxBw4IzSZwGcV9goHDKHUS47FUuEdlDbyZ
ioNqgikx/9DOdbWxEoVjYzyKwN87Yr4ehZynInAWNezCczMHfxVX8/B4t64242fA
tiEGEIIkkxM844zU8wnRGuMlN7zg4atGffkhyvOZR4VwtE2LewP3iSQygBS82INs
AdkbofJohy2Ucy9sRVtWiczU1pG9Wm3vRzReeTUFsFZijTJYFAMOv636ItuWb5Ot
KukQgLyKuQOuvCQjb/9zhQsF9YpU0FLsiINpLsz34M/hLQsIVrnIcA==
=n+/q
-----END PGP SIGNATURE-----