Print

Print


Hi,

I'm stuck on a problem setting up a SRW client request, which I hope
somebody can help me with.

The code below gets an error(see below) returned from the server. I have
determined that the problem is in setting the 'startRecord' and
'maximumRecords', as if I comment these lines out I get a valid response but
no results returned, only the number of hits the search matched is returned.

Any ideas or help would be much appreciated.

David Gilks

===============
my $soap = SOAP::Lite
   ->service('http://alcme.oclc.org/axis/SOAR/services/SearchRetrieveService
?wsdl')
   ->outputxml(1)
   ->proxy('http://alcme.oclc.org/axis/SOAR/services/SearchRetrieveService')
;

my $method = SOAP::Data->name('searchRetrieveRequest')
  -> attr({xmlns => 'http://www.imsglobal.org/xsd/imsmd_rootv1p2'})
  -> attr({xmlns => 'http://www.loc.gov/zing/srw/v1.0/'});

my @params = (
   SOAP::Data->name(query => 'lom.keyword scr software or computer'),
   SOAP::Data->name(startRecord => '1'),
   SOAP::Data->name(maximumRecords => '2')
);

my $response = $soap->call($method => @params);

================
the error from the server is :
 'ns1:Server.userException 'java.lang.IllegalArgumentException:
java.lang.ClassCastException@b64078 server ....'