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:


You can download source and library releases on the RubyForge downloads page. You can also checkout the latest source from the SVN repostiory.

You will need ROXML, download it from ROXML RubyForge site or with RubyGems:
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"

$Id: INDEX,v 1.6 2006/06/28 03:52:38 zakmandhro Exp $