Hi,
I've been attempting to test the swordv2 php library, with a hope to creating a
'record-edit' feature in dspace so users can update their archived items (a
feature strangely lacking from dspace).
I've copied the libraries down from the swordapp website and have configured
the test-swordappclient.php page but get the following error from the
deposit-multipart method:
About to deposit multipart file (test-files/atom_multipart_package) to
http://vmerdmsdspace01.ex.ac.uk/swordv2/collection/10871/6
As: Guest406
sac_curl=Resource id #22
sac_resp=
HTTP Status 500 -
________________________________
type Exception report
message
description The server encountered an internal error () that prevented it from
fulfilling this request.
exception
javax.servlet.ServletException:
org.apache.commons.fileupload.FileUploadException: Stream ended unexpectedly
org.swordapp.server.SwordAPIEndpoint.getPartsFromRequest(SwordAPIEndpoint.java:458)
org.swordapp.server.SwordAPIEndpoint.addDepositPropertiesFromMultipart(SwordAPIEndpoint.java:208)
org.swordapp.server.CollectionAPI.post(CollectionAPI.java:145)
org.swordapp.server.servlets.CollectionServletDefault.doPost(CollectionServletDefault.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
org.apache.commons.fileupload.FileUploadException: Stream ended unexpectedly
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:381)
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
org.swordapp.server.SwordAPIEndpoint.getPartsFromRequest(SwordAPIEndpoint.java:452)
org.swordapp.server.SwordAPIEndpoint.addDepositPropertiesFromMultipart(SwordAPIEndpoint.java:208)
org.swordapp.server.CollectionAPI.post(CollectionAPI.java:145)
org.swordapp.server.servlets.CollectionServletDefault.doPost(CollectionServletDefault.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
org.apache.commons.fileupload.MultipartStream$MalformedStreamException: Stream
ended unexpectedly
org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:983)
org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:887)
java.io.InputStream.read(InputStream.java:85)
org.apache.commons.fileupload.util.Streams.copy(Streams.java:94)
org.apache.commons.fileupload.util.Streams.copy(Streams.java:64)
org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:593)
org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:619)
org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1012)
org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:942)
org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:349)
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
org.swordapp.server.SwordAPIEndpoint.getPartsFromRequest(SwordAPIEndpoint.java:452)
org.swordapp.server.SwordAPIEndpoint.addDepositPropertiesFromMultipart(SwordAPIEndpoint.java:208)
org.swordapp.server.CollectionAPI.post(CollectionAPI.java:145)
org.swordapp.server.servlets.CollectionServletDefault.doPost(CollectionServletDefault.java:48)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache
Tomcat/6.0.32 logs.
Apache Tomcat/6.0.32
sac_status=500
Fatal error: Uncaught exception 'Exception' with message 'Error parsing
response entry (String could not be parsed as XML)' in
/mnt/webdata1/webs/apps.exeter.ac.uk/docs/lisa_dev/swordv2/swordappclient.php:583
Stack trace: #0
/mnt/webdata1/webs/apps.exeter.ac.uk/docs/lisa_dev/swordv2/swordappclient.php(134):
SWORDAPPClient->depositMultipartByMethod('http://vmerdmsd...', 'Guest406',
'PNFQwM', NULL, 'test-files/atom...', 'POST', 'http://purl.org...') #1
/mnt/webdata1/webs/apps.exeter.ac.uk/docs/lisa_dev/swordv2/test/test-swordappclient.php(73):
SWORDAPPClient->depositMultipart('http://vmerdmsd...', 'Guest406', 'PNFQwM',
NULL, 'test-files/atom...', 'http://purl.org...', false) #2 {main} thrown in
/mnt/webdata1/webs/apps.exeter.ac.uk/docs/lisa_dev/swordv2/swordappclient.php
on line 583
I've also changed the code to call the deposit method, as suggested in the
discussion from
http://sourceforge.net/mailarchive/forum.php?thread_name=4FA170FE.3050608%40wijiti.com&forum_name=sword-app-tech
but then receive the following:
About to deposit multipart file (test-files/swordlogo.jpg) to
http://vmerdmsdspace01.ex.ac.uk/swordv2/collection/10871/6
As: Guest406
sac_curl=Resource id #22
sac_resp= 2012-10-25T13:42:27zeda-sysad...@exeter.ac.ukProcessing
failedUnacceptable content type in deposit request:
application/x-www-form-urlencodedorg.swordapp.server.SwordError: Unacceptable
content type in deposit request: application/x-www-form-urlencoded at
org.dspace.sword2.DSpaceSwordAPI.isAcceptable(DSpaceSwordAPI.java:228) at
org.dspace.sword2.CollectionDepositManagerDSpace.createNewFromBinary(CollectionDepositManagerDSpace.java:218)
at
org.dspace.sword2.CollectionDepositManagerDSpace.createNew(CollectionDepositManagerDSpace.java:112)
at org.swordapp.server.CollectionAPI.post(CollectionAPI.java:158) at
org.swordapp.server.servlets.CollectionServletDefault.doPost(CollectionServletDefault.java:48)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776) at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705) at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:619)
Received HTTP status code: 415 (Unsupported media type)
About to retrieve deposit receipt from
As: Guest406
Fatal error: Uncaught exception 'Exception' with message 'Error parsing
response entry (String could not be parsed as XML)' in
/mnt/webdata1/webs/apps.exeter.ac.uk/docs/lisa_dev/swordv2/swordappclient.php:229
Stack trace: #0
/mnt/webdata1/webs/apps.exeter.ac.uk/docs/lisa_dev/swordv2/test/test-swordappclient.php(324):
SWORDAPPClient->retrieveDepositReceipt(NULL, 'Guest406', 'PNFQwM', NULL,
'http://purl.org...') #1 {main} thrown in
/mnt/webdata1/webs/apps.exeter.ac.uk/docs/lisa_dev/swordv2/swordappclient.php
on line 229
In each case there is nothing in the tomcat or dspace logs.
Any ideas?
For help, I've printed some of the curl responses to the screen.
Thanks
Ian
------------
Ian Wellaway
Senior System Support & Development Officer - Enterprise Applications
(Wednesdays only)
&
Technical Developer, Open Exeter - Infrastructure Systems (Monday-Tuesday,
Thursday-Friday)
Exeter IT
Room 54
Laver Building
University of Exeter
EX4 4QE
UK
tel +44 1392 722852
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
sword-app-tech mailing list
sword-app-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-tech