The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

UDDI - UDDI client interface

SYNOPSIS

 use UDDI;

 my $list = UDDI::find_business(name => "a");
 my $bis = $list->businessInfos;
 for my $b ($bis->businessInfo) {
     print $b->name, "\n";
 }

DESCRIPTION

This module provide functions to interact with UDDI registry servers. UDDI (Universal Description, Discovery and Integration) is the name of a group of web-based registries that expose information about businesses and their technical interfaces (APIs). Learn more about UDDI at www.uddi.org.

The interface exposed comply with the "UDDI Programmer's API Specification". Currently only the UDDI inquiry interface is provided.

FUNCTIONS

The following functions are provided. None of them are exported by default. A successful invocation will return some UDDI object. On error undef is returned and the global variable %UDDI::err is set.

All the find_xxx() functions take key/value pairs as arguments. All they get_xxx() functions simply take one or more keys as argument.

find_binding( serviceKey => $key, ... )

This function will find binding details for a specific service. On success a UDDI::bindingDetails object is returned. Optional arguments are maxRows, findQualifiers and tModelBag.

find_business( ... )

This function will return businesses that fullfil the search criteria given. On success a UDDI::businessList object is returned. The returned businessList might be empty. Arguments are maxRows, findQualifiers, name, identiferBag, categoryBag, tModelBag are discoveryURLs.

find_service( businessKey => $key, ... )

This function will find services for a specific business. On success a UDDI::serviceList object is returned. Optional arguments are maxRows, findQualifiers, name, categoryBag and tModelBag.

find_tModel( ... )

This function will return tModels that fullfil the search criteria given. On success a UDDI::tModelList object is returned. The returned tModelList might be empty. Arguments are maxRows, findQualifiers, name, identiferBag and categoryBag.

get_bindingDetail( $bindingKey, ... )

This function will return a UDDI::bindingDetail object containing a UDDI::bindingTemplate for each binding key given as argument.

get_businessDetail( $businessKey, ... )

This function will return a UDDI::businessDetail object containing a UDDI::businessEntity for each business key given as argument.

get_businessDetailExt( $businessKey, ... )

This function will return a UDDI::businessDetailExt object containing a UDDI::businessEntityExt for each business key given as argument.

get_serviceDetail( $serviceKey, ... )

This function will return a UDDI::serviceDetail object containing a UDDI::businessService for each service key given as argument.

get_tModelDetail( $tModelKey, ... )

This function will return a UDDI::tModelDetail object containing a UDDI::tModel for each tModel key given as argument.

GLOBALS

%UDDI::err

In case of errors the functions above will return undef and the %UDDI::err hash will be filled with the following values:

type

A short string giving the overall type of the failure. It can be either "HTTP" or "SOAP".

code

Error code. For HTTP it is a 3 digit number. For UDDI failures it is some string prefixed with "E_". For general SOAP failures it is a short string like "VersionMismatch", "MustUnderstand", "Client", "Server" (defined in section 4.4.1 in the SOAP spec.)

message

A short human readable (English) message describing the error.

detail

A reference to the corresponing error object.

The hash will be empty after a successful function call.

$UDDI::registry

The $UDDI::registry variable contains the URL to the registry server to use for the calls. Currently it defaults to Microsoft's test server.

$UDDI::TRACE

For debugging you might assign a file handle to the $UDDI::TRACE variable. Trace logs of the SOAP messages are then written to this file.

SEE ALSO

http://www.uddi.org, SOAP, SOAP::Lite

AUTHOR

Gisle Aas <gisle@ActiveState.com>

Copyright 2000 ActiveState Tool Corp.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.