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

NAME

LS::Service::Authority - Authority service for LSID resolution

SYNOPSIS

 # Create an authority service with a metadata port
 my $location = 'http://localhost:80/authority/';

 # Create the authority service
 my $authority = new LS::Service::Authority(
                                         name => 'hugo', 
                                         authority => 'gene.ucl.ac.uk.lsid.myauthority.org', 
                                         location => $location);
 #
 # Add a metadata port that uses SOAP
 #
 $authority->addPort(serviceName=> 'hugoSOAP',
                     port=> LS::Authority::WSDL::Simple::MetadataPort->newMetadata(portName=> 'SOAPMetadata',
                                                                                   endpoint=> "$location/authority/metadata",
                                                                                   protocol=> $LS::Authority::WSDL::Constants::Protocols::SOAP,
                                                                                  )
        );

DESCRIPTION

The LS::Service::Authority object is used to create a custom LSID Authority implementing its own getAvailableServices. Additionally, ports can be added to the service (data, metadata as well as generic ports).

CONSTRUCTORS

new ( %options )

This will construct a new authority service with the options specified.

The %options hash can contain the following keys:

     name: The name of the authority
     authority: The hostname of the authority
     location: The authority's location in the form of a URL
     auth_handler: Reserved.
                    
     getServices: A reference to a function that can add 
                  information to the WSDL decribing how to invoke the authority
                  
     getAvailableServices: A reference to a function that 
                           can add information in the authority's WSDL

METHODS

addPort ( %options )

Add a port with the specified type, such as metadata or data, and associated operations.

This method requires the following keys to be specified in %options:

     type: Can be the string metaDataPortType or dataPortType
     protocol: $LS:Authority::WSDL::Constants::Protocols::SOAP|HTTP|FTP
     location: The URL of the port
     oprations: A hash of the operations that this port supports
authenticate ( @credentials )

Reserved.

getAvailableServices ( )

Returns the default WSDL of the authority plus any custom ports and then calls a function specified in the constructor for additional customization.

COPYRIGHT

Copyright (c) 2002,2003 IBM Corporation. All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.opensource.org/licenses/cpl.php