NAME

PICA::SOAPServer - Provide a SOAP interface to a PICA::Store

VERSION

version 0.585

SYNOPSIS

use PICA::SOAPServer;
use PICA::SQLiteStore;
use SOAP::Transport::HTTP;

my $dbfile = "path/to/picawiki.db";
my $store = eval { PICA::SQLiteStore->new( $dbfile ); } || $@;
my $server = PICA::SOAPServer->new( $store );

SOAP::Transport::HTTP::CGI   
  -> serializer( SOAP::Serializer->new->envprefix('soap') )
  -> dispatch_with( { 'http://www.gbv.de/schema/webcat-1.0' => $server } )
  -> handle;

DESCRIPTION

THIS CLASS WILL BE REMOVED IN A FUTURE RELEASE!

This class wraps the CRUD-methods (create, get, update, delete) of a given PICA::Store and makes them accessible via SOAP. This way you can provide a so called PICA Webcat interface for a database of PICA+ records. See PICA::SOAPClient for a webcat client interface.

Each SOAP method returns five named values of type string:

ppn

The id (PPN) of the record

record

The record as string

version

The version of the record

dbsid

The database id the record was accessed in (may be the empty string)

format

The record format which is always 'pp' for PICA+.

METHODS

new ( $store )

Create a new SOAPServer with underlying PICA::Store. This method is not meant to be called via SOAP but to initialize a server. The server can then be run this way:

$server = PICA::SOAPServer->new ( $store );
SOAP::Transport::HTTP::CGI   
  -> dispatch_with( { 'http://www.gbv.de/schema/webcat-1.0' => $server } )
  -> handle;

get

Retrieve a PICA+ record by its id (ppn). Mandatory SOAP parameters are ppn, userkey, password, and dbsid. Optional parameters are language and format.

create

Create a new PICA+ record. Mandatory SOAP parameters are record, userkey, password, and dbsid. Optional parameters are language, format, and rectype.

update

Modify an existing PICA+ record. Mandatory SOAP parameters are ppn, record, version, userkey, password, and dbsid. Optional parameters are language and format.

delete

Delete a PICA+ record. Mandatory SOAP parameters are ppn, userkey, password, and dbsid. The only optional parameter is language.

SEE ALSO

See PICA::Store, PICA::SOAPClient and SOAP::Lite.

AUTHOR

Jakob Voß <voss@gbv.de>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Verbundzentrale Goettingen (VZG) and Jakob Voss.

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