Uddi4r is an open-source pure Ruby implementation of UDDI inquiry services. The project aims at providing Sevice-Oriented Architecture (SOA) support for Ruby and Rails applications. UDDI stands for Universal Description, Discovery and Integration; an OASIS standard commonly used for "yellow pages"-style querying and dynamic lookup of web services.
The uddi4r project leverages REXML,
ROXML and soap4r
open-source Ruby
libraries.
What's new in Version 0.8
Version 0.8 includes the find_tModel inquiry operation.Version 0.7
Version 0.7 has been a major refactoring effort to bring Uddi4r close
the specification. It also moves away from positioned parameters to
named parameters passed in as a hash. See documentation for details.List of features in 0.7:
- Better support for UDDI version 2.0 inquiry API specification
and data-structures
- Simple Ruby objects with API methods - no SOAP or XML knowledge needed
- Named parameters
- Complete UDDI v2 data model in Ruby
- All inquiry API methods supports except for
get_BusinessDetailExt
- Complete set of test cases for API methods
- Improved documentation for all API methods
Download
You can download source and library releases on the RubyForge
downloads
page. You can also checkout the latest source from the SVN
repostiory.
sudo gem install roxml
Quick Start Guide
This is a short usage example. See project RDoc and packaged test cases for more information.
The following sample IRb session browses a test UDDI server to
get
the end-point of a web service:
require "lib/client"
# create the client
uddi = Uddi4r::Client.new("http://uddi.xmethods.net/inquire")
# find first matching business
list = uddi.find_business(:name=>"chaiwat")
biz = list.business_infos.first()
# find first service
service = biz.service_infos.first()
# and it's binding
binding = uddi.find_binding(service.service_key)
template = binding.binding_template.first()
puts template.access_point()
=> "http://java.hpcc.nectec.or.th:1978/axis/TemperatureConvert.jws"