Hi Bill,

It looks like the issue here is that, by default, DSpace's SWORD 
settings expect all METS files to include EPDCX (Eprints DC XML) , 
which is the SWORD recommended metadata format, or straight DC.  By 
default, it doesn't expect DIM format.

So, in the SWORD settings in dspace.cfg, you'll see:

# Define the metadata type EPDCX (EPrints DC XML)
# to be handled by the SWORD crosswalk configuration
#
mets.submission.crosswalk.EPDCX = SWORD

The error is happening because SWORD is unaware of your existing "DIM" 
crosswalk (as it only uses crosswalks defined via 
'mets.submission.crosswalk.[mdtype]' configs).  So, it is complaining 
that there is no configuration for:

mets.submission.crosswalk.DIM = DIM

(NOTE: This above config may look a bit odd. But, the *first* DIM 
corresponds to the MDTYPE attribute specified in your METS.xml file.   
So, what this setting is actually saying is:  If you encounter an 
"MDTYPE=DIM" or "OTHERMDTYPE=DIM" attribute in a METS file, use the 
DSpace crosswalk named "DIM" to process that metadata.)

So, it is the above setting that the METSManifest.getCrosswalk() method 
is complaining is missing. See the source code 
at:https://fisheye3.atlassian.com/browse/dspace/dspace/tags/dspace-1.5.2/dspace-api/src/main/java/org/dspace/content/packager/METSManifest.java?hb=true#to727

I think if you added the above 'mets.submission.crosswalk.DIM' setting 
this may work (admittedly, I haven't tried it though).

- Tim

On Thursday, September 08, 2011 10:48:13 AM, Ingram, William A wrote:
> Hi,
>
> I am trying to send packages to DSpace 1.5.2 via SWORD, but they are being 
> refused due to a crosswalk error. See below the top of the stacktrace, and a 
> snippet of my dspace.cfg below that. The package METS.xml is attached.
>
> Thanks,
> Bill
>
>
> // --- stacktrace ---
>
> 2011-09-07 20:04:19,662 ERROR org.dspace.sword.SWORDMETSIngester @ caught 
> exception:
> org.dspace.content.crosswalk.MetadataValidationException: Cannot process METS 
> Manifest: No crosswalk found for MDTYPE=DIM
>       at 
> org.dspace.content.packager.METSManifest.crosswalkItem(METSManifest.java:796)
>       at 
> org.dspace.content.packager.DSpaceMETSIngester.chooseItemDmd(DSpaceMETSIngester.java:174)
>       at 
> org.dspace.content.packager.AbstractMETSIngester.ingest(AbstractMETSIngester.java:390)
>       at org.dspace.sword.SWORDMETSIngester.ingest(SWORDMETSIngester.java:115)
>       at 
> org.dspace.sword.CollectionDepositor.doDeposit(CollectionDepositor.java:179)
>       at org.dspace.sword.DepositManager.deposit(DepositManager.java:173)
>       at 
> org.dspace.sword.DSpaceSWORDServer.doDeposit(DSpaceSWORDServer.java:153)
>       at org.purl.sword.server.DepositServlet.doPost(DepositServlet.java:336)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       ...
>
> // --- dspace.cfg ---
>
> # Crosswalk Plugins:
> plugin.named.org.dspace.content.crosswalk.IngestionCrosswalk = \
>    org.dspace.content.crosswalk.DIMIngestionCrosswalk = DIM \
>    org.dspace.content.crosswalk.DIMIngestionCrosswalk = dim \
>    org.dspace.content.crosswalk.OAIDCIngestionCrosswalk = DC \
>    org.dspace.content.crosswalk.OAIDCIngestionCrosswalk = dc \
>    org.dspace.content.crosswalk.OAIDCIngestionCrosswalk = OAI_DC \
>    org.dspace.content.crosswalk.OAIDCIngestionCrosswalk = oai_dc \
>    org.dspace.content.crosswalk.QDCCrosswalk = QDC \
>    org.dspace.content.crosswalk.QDCCrosswalk = qdc \
>    org.dspace.content.crosswalk.PREMISCrosswalk = PREMIS \
>    org.dspace.content.crosswalk.OREIngestionCrosswalk = ORE \
>    org.dspace.content.crosswalk.OREIngestionCrosswalk = ore \
>    org.dspace.content.crosswalk.NullIngestionCrosswalk = NIL \
>    org.dspace.content.crosswalk.NullIngestionCrosswalk = nil
>
> plugin.selfnamed.org.dspace.content.crosswalk.IngestionCrosswalk = \
>    org.dspace.content.crosswalk.XSLTIngestionCrosswalk
>
> mets.submission.crosswalk.DIM = DIM
> sword.accept-packaging.METSDSpaceSIP.identifier = 
> http://purl.org/net/sword-types/METSDSpaceSIP
> sword.accept-packaging.METSDSpaceSIP.q = 1.0
>
> # A comma separated list of MIME types that SWORD will accept
> sword.accepts = application/zip
>
>
>
> --
> Bill Ingram
> Research Programmer
> Scholarly Communication and Repository Services
> University of Illinois at Urbana-Champaign
>
>
>
>
> ------------------------------------------------------------------------------
> Doing More with Less: The Next Generation Virtual Desktop
> What are the key obstacles that have prevented many mid-market businesses
> from deploying virtual desktops?   How do next-generation virtual desktops
> provide companies an easier-to-deploy, easier-to-manage and more affordable
> virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
>
>
> _______________________________________________
> DSpace-tech mailing list
> DSpace-tech@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspace-tech

------------------------------------------------------------------------------
Why Cloud-Based Security and Archiving Make Sense
Osterman Research conducted this study that outlines how and why cloud
computing security and archiving is rapidly being adopted across the IT 
space for its ease of implementation, lower cost, and increased 
reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to