EPrints Technical Mailing List Archive

Message: #07321

< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Possible (small) error in oai2


We passed our OAI PMH configuration through the compliance checker at http://re.cs.uct.ac.za/.

The tests passed except for one :

   (8) Testing : ListIdentifiers (resumptionToken, oai_dc)
   URL : https://agritrop.cirad.fr/cgi/oai2?verb=ListIdentifiers&resumptionToken=metadataPrefix%3Doai_dc%26offset%3D553946&metadataPrefix=oai_dc
   ------ Start of XML Response ------
   <?xml version='1.0' encoding='UTF-8'?>
   <?xml-stylesheet type='text/xsl' href='/oai2.xsl' ?>
   <OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd";>
      <request verb="ListIdentifiers" resumptionToken="metadataPrefix=oai_dc&amp;offset=553946" metadataPrefix="oai_dc">https://agritrop.cirad.fr/cgi/oai2</request>
   ------- End of XML Response -------
   Test Result : FAIL!
   **** [ERROR] Error tag expected but not found : badArgument,badResumptionToken

As we understand, this test checks a bad combination of parameters and expects to get an error from the server. But, instead, the server returns data...

We looked at cgi/oai2 and found something odd :

 * at line 74, %arguments is defined
 * at line 131, the number of elements in %arguments is checked to
   check if it is > 1... but it is still empty
 * at line 165, the array is populated...

(https://github.com/eprints/eprints3.4/blob/master/cgi/oai2 -- We work on a 3.3.12 version, but the file is the same as the 3.4 one).

We changed the code at line 131, replacing %arguments by %params and the test #8 passed...


I'm not sure this error can cause problems for a harvester since the server returns data even if the harvester request does not strictly follow the protocol. I suppose harvesters don't complain when they get data even if they shouldn't...

Anyway, if you think that our modification is not the right one, please let us know... Thanks.