NAME

PPM::SOAPClient - SOAP client for PPM repository

SYNOPSIS

use PPM::SOAPClient;
...
my $client = new PPM::SOAPClient;
my @results = $client->search( 'sarathy' );

DESCRIPTION

PPM::SOAPClient implements a SOAP client to be used to access a PPM repository through a SOAP interface. All of the functionality for making and parsing the SOAP request is handled internally; simply access the provided methods and you'll be returned a data structure containing the actual response.

METHODS

new ($server)

Instantiates a new SOAP client, specifying the server that will be used for all later connections. '$server' should be provided as the URL to the SOAP server that we're going to connect to and make queries against.

Note, that this method accepts both "http://" and "soap://" server URLs exactly the same way (we treat 'soap://' URLs as standard HTTP URLs).

version ()

Gets the version number of the SOAP server that we're connected to. If we're unable to contact the server or its offline, this method returns 'undef'.

searchAbstract ($search)

Searches within the 'ABSTRACT' field within all of the packages held in the repository on the server. The value '$search' may be a regex that will be used to match against the abstracts. If no value for '$search' is provided, the server treats the search to be for '.*' (everything).

searchAuthor ($search)

Searches within the 'AUTHOR' field within all of the packages held in the repository on the server. The value '$search' may be a regex that will be used to match against the authors. If no value of '$search' is provided, the server treats the search to be for '.*' (everything).

searchTitle ($search)

Searches within the 'title' field within all of the packages held in the repository on the server. The value '$search' may be a regex that will be used to match against the titles. If no value of '$search' is provided, the server treats the search to be for '.*' (everything).

search ($search)

Searches through all of the fields within all of the packages held in the repository on the server. The value '$search' may be a regex that will be used to match against the field values. If no value of '$search' is provided, the server treats the search to be for '.*' (everything).

packages ()

Generates a list of all of the packages currently available in the repository. The value returned to the caller is a list containing the names of all of the packages in the repository.

fetch_ppd ($pkg)

Fetches the PPD associated with a given package. The full contents of the PPD are returned to the caller in XML format as a scalar value.

fetch_summary ()

Fetches the full summary of all of the packages held in the repository. The full contents of the summary are returned to the caller in XML format as a scalar value.

_makeSOAPRequest ($method, $search)

INTERNAL METHOD. Makes the SOAP request to the server, doing the bulk of the actual work for us.

AUTHOR

Graham TerMarsch (gtermars@home.com)

SEE ALSO

PPM::SOAPServer, SOAP.