EPrints Technical Mailing List Archive
See the EPrints wiki for instructions on how to join this mailing list and related information.
Message: #07632
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
Re: [EP-tech] Error whilst depositing via SWORD
- To: "eprints-tech@ecs.soton.ac.uk" <eprints-tech@ecs.soton.ac.uk>
- Subject: Re: [EP-tech] Error whilst depositing via SWORD
- From: Fran Callaghan <fran.callaghan@dcu.ie>
- Date: Mon, 7 Jan 2019 16:08:15 +0000
Hi Fran,
Taking a quick look at the code, I think the issue is that in the CRUD module, there are a couple of instances where the 'sword_error' is called as a raw function , rather than an object method e.g.:
Normal working:
https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L432-L436
Function call in servicedocument function:
https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L1742-L1745
and 'on_behalf_of' function:
https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Apache/CRUD.pm#L1838-L1862
This issue will only become apparent when you're doing a SWORD deposit using the 'on-behalf-of' header.
I think it may have been present for ~7 years, when the first line of the sword_error function was changed from
my( $repo, $r, %opts ) = @_;
to
my( $self, %opts ) = @_;
I think it's more than a 5-minute job to fix properly - I need to get into the code a bit more to understand what was changed - and how to resolve it.
I'll log it in GitHub and let you know try and come up with a solution - unless anyone else fancies having a go..?
Cheers,
John
From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of Fran Callaghan via Eprints-tech
Sent: 07 January 2019 14:50
To: eprints-tech@ecs.soton.ac.uk
Subject: [EP-tech] Error whilst depositing via SWORD
Hi All,
We have a third party depositing via SWORD. They're getting a generic 500 message back but when I lookup the error_log corresponding to the time of the test I can see this message...
[Mon Jan 07 13:46:18.179171 2019] [perl:error] [pid 10713] [client X.X.X.X] Can't locate object method "repository" via package "EPrints::Repository" at /opt/eprints3/perl_lib/EPrints/Apache/CRUD.pm line 1977.\n
Any ideas what's wrong with CRUD.pm? Or is it a problem with the syntax of the deposit? I had expected SWORD to be pretty much plug and play (actually not even 'plug' since the documentation says it is configured by default).
**NOTE: I have X'd out the client IP address, it's a genuine IP in the original message
Thanks all,
Fran Callaghan
Séanadh Ríomhphoist/Email Disclaimer
Tá an ríomhphost seo agus aon chomhad a sheoltar leis faoi rún agus is lena úsáid ag an seolaí agus sin amháin é. Is féidir tuilleadh a léamh anseo.
This e-mail and any files transmitted with it are confidential and are intended solely for use by the addressee. Read more here.
Séanadh Ríomhphoist/Email Disclaimer
Tá an ríomhphost seo agus aon chomhad a sheoltar leis faoi rún agus is lena úsáid ag an seolaí agus sin amháin é. Is féidir tuilleadh a léamh anseo.
This e-mail and any files transmitted with it are confidential and are intended solely for use by the addressee. Read more here.
- Follow-Ups:
- Re: [EP-tech] Error whilst depositing via SWORD
- From: Fran Callaghan <fran.callaghan@dcu.ie>
- Re: [EP-tech] Error whilst depositing via SWORD
- References:
- [EP-tech] Error whilst depositing via SWORD
- From: Fran Callaghan <fran.callaghan@dcu.ie>
- Re: [EP-tech] Error whilst depositing via SWORD
- From: John Salter <J.Salter@leeds.ac.uk>
- Re: [EP-tech] Error whilst depositing via SWORD
- From: Fran Callaghan <fran.callaghan@dcu.ie>
- [EP-tech] Error whilst depositing via SWORD
- Prev by Date: Re: [EP-tech] Error whilst depositing via SWORD
- Next by Date: Re: [EP-tech] Error whilst depositing via SWORD
- Previous by thread: [EP-tech] EPrints/CRIS
- Next by thread: [EP-tech] DOI handling in orcid_support_advance
- Index(es):