NAME
PICA::SOAPServer - Provide a SOAP interface to a PICA::Store
VERSION
version 0.585
SYNOPSIS
use
PICA::SOAPServer;
use
PICA::SQLiteStore;
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'
) )
-> 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
-> 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.