[EP-tech] EPrints CRUD module returning a 500 error
Christer Enkvist
christer.enkvist at slu.se
Fri Oct 28 14:07:10 BST 2016
Hi,
I encountered the same problem when trying to add posts using SWORD. If comment out the failing code in CRUD.pm to
#return $self->send_response(
#HTTP_CREATED,
#$atom->param( "mimetype" ),
#$atom->output_dataobj( $items[0] ),
# 'HTTP_CREATED',
# 'application/atom+xml',
# 'text',
#);
I can both extract and add posts. From what I understand this is some a debug code which seems to have been left by mistake (?). Those better reading code are most welcome to comment on this - I may be VERY wrong!
However, removing/commenting out the rows above, adding an Eprints XML file (NewPosts.xml) to the archive is without problem:
christer at honeybee:~/test$ curl -X POST -i -u my_username:my_password --data-binary "@NewPosts.xml" -H 'Content-Type: application/vnd.eprints.data+xml' http://pub-dev21.slub.se/id/contents
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Fri, 28 Oct 2016 13:00:12 GMT
Server: Apache/2.4.18 (Ubuntu)
Location: http://pub-dev21.slub.se/id/eprint/13823
Content-Length: 0
And yes, the post appears in the archive :)
Regards,
Christer
From: eprints-tech-bounces at ecs.soton.ac.uk [mailto:eprints-tech-bounces at ecs.soton.ac.uk] On Behalf Of Andrew Hercules
Sent: den 23 juni 2016 13:29
To: eprints-tech at ecs.soton.ac.uk
Subject: [EP-tech] EPrints CRUD module returning a 500 error
Hi all,
I'm attempting to create a new EPrints record using the CRUD module. To test that I can access the repository, I'm using the example provided in the documentation<https://wiki.eprints.org/w/API:EPrints/Apache/CRUD>. When I run the command from my terminal, I get the following response:
HTTP/1.1 500 Internal Server Error
Date: Thu, 23 Jun 2016 11:17:13 GMT
Server: Apache
Location: http://w01.eprintstest.da.ulcc.ac.uk/id/eprint/5252
Content-Length: 616
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
Weirdly, it returns a 500 Internal Server Error, yet it creates the EPrint record and puts it into the buffer. When I check the Apache logs, I see the following error message:
"Can't call method "param" on an undefined value at /perl_lib/EPrints/Apache/CRUD.pm line 1423"
When I review /perl_lib/EPrints/Apache/CRUD.pm line 1423, I see the following:
return $self->send_response( HTTP_CREATED, $atom->param( "mimetype" ), $atom->output_dataobj( $items[0] ), );
Has anybody seen this error before? If so, could you point me in the direction of a possible solution?
Thanks! :)
Cheers,
Andrew
--
Andrew Hercules
Developer & UX Researcher
University of London Computer Centre
Senate House, Malet Street, London WC1E 7HU
T: +44 (0)20 7863 1342
E: andrew.hercules at ulcc.ac.uk<mailto:andrew.hercules at ulcc.ac.uk>
W: http://www.ulcc.ac.uk/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20161028/61476ebb/attachment.html
More information about the Eprints-tech
mailing list