Hi,
    I am changing to use Sword V2 and have attempted to upload a ZIP using the 
following command
CURL

E:\dev\utils\curl-7.23.1-win64\curl -i --data-binary "@example.zip" -H 
"Content-Disposition: filename=myDSpaceMETSItem.zip" -H "Content-Type: 
application/zip" -H "X-Packaging: 
http://purl.org/net/sword-types/METSDSpaceSIP"; -H "X-No-Op: false" -H 
"X-Verbose: true" 
http://ben.ryan%40hotmail.co.uk:XXXX@localhost:8080/swordv2/collection/123456789/634

This gives a 403 error

Output

HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 964
Date: Wed, 20 Jun 2012 05:58:12 GMT

The config is listed below, all I have chnaged is the upload temp dir, do I 
need to do any other config or is this a Tomcat issue?


Regards,
    Ben
    
Sword V2 Config

#---------------------------------------------------------------#
#----------------SWORD 2.0 SERVER CONFIGURATIONS----------------#
#---------------------------------------------------------------#
# These configs are only used by the SWORD Server interface,    #
# version 2.0 (used by DSpace to accept ingest packages via     #
# SWORD 2.0 protocol)                                           #
#---------------------------------------------------------------#

# the base url of the sword 2.0  system
#
# the default if {dspace.url}/swordv2
#
#url = http://www.myu.ac.uk/swordv2

# The base URL of the SWORD collection.  This is the URL from
# which DSpace will construct the deposit location urls for
# collections.
#
# The default is {dspace.url}/swordv2/collection
#
# In the event that you are not deploying DSpace as the ROOT
# application in the servlet container, this will generate
# incorrect URLs, and you should override the functionality
# by specifying in full as below:
#
# collection.url = http://www.myu.ac.uk/swordv2/collection

# The base URL of the SWORD service document.  This is the
# URL from which DSpace will construct the service document
# location urls for the site, and for individual collections
#
# The default is {dspace.url}/swordv2/servicedocument
#
# In the event that you are not deploying DSpace as the ROOT
# application in the servlet container, this will generate
# incorrect URLs, and you should override the functionality
# by specifying in full as below:
#
# servicedocument.url = http://www.myu.ac.uk/swordv2/servicedocument

# The accept packaging properties, along with their associated
# quality values where appropriate.
#
# Global settings; these will be used on all DSpace collections
#
accept-packaging.collection.METSDSpaceSIP = 
http://purl.org/net/sword/package/METSDSpaceSIP
accept-packaging.collection.SimpleZip = 
http://purl.org/net/sword/package/SimpleZip
accept-packaging.collection.Binary = http://purl.org/net/sword/package/Binary

# The accept packaging properties for items.  This is used to determine
# which package types are acceptable to deposit into an existing item,
# either adding to or replacing the media resource
#
accept-packaging.item.METSDSpaceSIP = 
http://purl.org/net/sword/package/METSDSpaceSIP
accept-packaging.item.SimpleZip = http://purl.org/net/sword/package/SimpleZip
accept-packaging.item.Binary = http://purl.org/net/sword/package/Binary

# A comma separated list of MIME types that SWORD will accept
accepts = application/zip, image/jpeg

# Collection Specific settings: these will be used on the collections
# with the given handles
#
#accept-packaging.collection.[handle].METSDSpaceSIP = 
http://purl.org/net/sword-types/METSDSpaceSIP

# Should the server offer as the default the list of all Communities
# to a Service Document request.  If false, the server will offer
# the list of all collections, which is the default and recommended
# behaviour at this stage.
#
# NOTE: a service document for Communities will not offer any viable
# deposit targets, and the client will need to request the list of
# Collections in the target before deposit can continue
#
expose-communities = false
allow-community-deposit = false

# The maximum upload size of a package through the sword interface,
# in bytes
#
# This will be the combined size of all the files, the metadata and
# any manifest data.  It is NOT the same as the maximum size set
# for an individual file upload through the user interface.  If not
# set, or set to 0, the sword service will default to no limit.
#
max-upload-size = 0

# Should DSpace store a copy of the original sword deposit package?
#
# NOTE: this will cause the deposit process to run slightly slower,
# and will accelerate the rate at which the repository consumes disk
# space.  BUT, it will also mean that the deposited packages are
# recoverable in their original form.  It is strongly recommended,
# therefore, to leave this option turned on
#
keep-original-package = true

# The bundle name that SWORD should store incoming packages under if
# keep-original-package is set to true.  The default is "SWORD"
# if not value is set
#
# bundle.name = SWORD

# In the event of package ingest failure, provide an option to store
# the package on the file system. The default is false.
#keep-package-on-fail=false
#failed-package.dir=http://localhost:8080/upload

# Should we support mediated deposit via sword?  Enabled, this will
# allow users to deposit content packages on behalf of other users.
#
# See the SWORD specification for a detailed explanation of deposit
# On-Behalf-Of another user
#
on-behalf-of.enable = true

# The URL which identifies the sword software which provides
# the sword interface.  This is the URL which DSpace will use
# to fill out the atom:generator element of its atom documents.
#
# The default is:
#
# http://www.dspace.org/ns/sword/2.0/
#
# If you have modified your sword software, you should change
# this URI to identify your own version.  If you are using the
# standard dspace-sword module you will not, in general, need
# to change this setting
#
# generator.url = http://www.dspace.org/ns/sword/2.0/

# Which version of SWORD is being used
generator.version = 2.0

# The form of authentication to use
# This is normally set to 'basic' for HTTP Basic
auth-type = Basic

# The location where uploaded files and packages are
# stored while being processed
upload.tempdir = E:/mimas/jorum/dev/dspace/build/upload

# The metadata field in which to store the updated date for
# items deposited via SWORD.
updated.field = dc.date.updated

# The metadata field in which to store the value of the slug
# header if it is supplied
slug.field = dc.identifier.slug

# The metadata field in which to store the value of the
# atom entry author if it is supplied
author.field = dc.contributor.author

# The metadata field in which to store the value of the
# atom entry title if it is supplied
title.field = dc.title

# Supported packaging formats for the dissemination of packages
disseminate-packaging.METSDSpaceSIP = 
http://purl.org/net/sword/package/METSDSpaceSIP
disseminate-packaging.SimpleZip = http://purl.org/net/sword/package/SimpleZip

# Configure the plugins to process incoming packages.  The form of this
# configuration is as per the Plugin Manager's Named Plugin documentation:
#
# plugin.named.[interface] = [implementation] = [package format identifier] \
#
# Package ingesters should implement the SWORDIngester interface, and
# will be loaded when a package of the format specified above in:
#
# accept-packaging.[package format].identifier = [package format identifier]
#
# is received.
#
# In the event that this is a simple file deposit, with no package
# format, then the class named by "SimpleFileIngester" will be loaded
# and executed where appropriate.  This case will only occur when a single
# file is being deposited into an existing DSpace Item
#
plugin.named.org.dspace.sword2.SwordContentIngester = \
  org.dspace.sword2.SimpleZipContentIngester = 
http://purl.org/net/sword/package/SimpleZip, \
  org.dspace.sword2.SwordMETSIngester = 
http://purl.org/net/sword/package/METSDSpaceSIP, \
  org.dspace.sword2.BinaryContentIngester = 
http://purl.org/net/sword/package/Binary, \
  org.dspace.swordpackagers.SwordDocXIngester = 
application/vnd.openxmlformats-officedocument.wordprocessingml.document, \
  org.dspace.swordpackagers.SwordXifIngester = image/jpeg

plugin.single.org.dspace.sword2.SwordEntryIngester = \
  org.dspace.sword2.SimpleDCEntryIngester

plugin.single.org.dspace.sword2.SwordEntryDisseminator = \
  org.dspace.sword2.SimpleDCEntryDisseminator

# note that we replace ";" with "_" as ";" is not permitted in the 
PluginManager names
plugin.named.org.dspace.sword2.SwordContentDisseminator = \
  org.dspace.sword2.SimpleZipContentDisseminator = 
http://purl.org/net/sword/package/SimpleZip, \
  org.dspace.sword2.FeedContentDisseminator = application/atom+xml, \
  org.dspace.sword2.FeedContentDisseminator = application/atom+xml_type_feed

# note that we replace ";" with "_" as ";" is not permitted in the 
PluginManager names
plugin.named.org.dspace.sword2.SwordStatementDisseminator = \
  org.dspace.sword2.AtomStatementDisseminator = atom, \
  org.dspace.sword2.OreStatementDisseminator = rdf, \
  org.dspace.sword2.AtomStatementDisseminator = application/atom+xml_type_feed, 
\
  org.dspace.sword2.OreStatementDisseminator = application/rdf+xml

plugin.single.org.dspace.sword2.WorkflowManager = \
  org.dspace.sword2.WorkflowManagerDefault

# tell the SWORD METS implementation which package ingester to use
# to install deposited content.  This should refer to one of the
# classes configured for:
#
# plugin.named.org.dspace.content.packager.PackageIngester
#
# The value of mets-ingester.package-ingester tells the
# system which named plugin for this interface should be used
# to ingest SWORD METS packages
#
# The default is METS
#
# mets-ingester.package-ingester = METS

# Should the sword server enable restore-mode when ingesting new
# packages. If this is enabled the item will be treated as a
# previously deleted item from the repository. If the item had
# previously been assigned a handle then that same handle will be
# restored to activity.
restore-mode.enable = false

# metadata field mapping for SimpleDCEntryIngester
#
simpledc.abstract = dc.description.abstract
simpledc.accessRights = dc.rights
#simpledc.accrualMethod = dc.????
#simpledc.accrualPeriodicity = dc.????
#simpledc.accrualPolicy = dc.????
simpledc.alternative = dc.title.alternative
#simpledc.audience = dc.???
simpledc.available = dc.date.available
simpledc.bibliographicCitation = dc.identifier.citation
#simpledc.conformsTo = dc.????
simpledc.contributor = dc.contributor
simpledc.coverage = dc.coverage
simpledc.created = dc.date.created
simpledc.creator = dc.contributor.author
simpledc.date = dc.date
simpledc.dateAccepted = dc.date.accepted
simpledc.dateCopyrighted = dc.date.???
simpledc.dateSubmitted = dc.date.submitted
simpledc.description = dc.description
#simpledc.educationLevel = dc.???
simpledc.extent = dc.format.extent
simpledc.format = dc.format
#simpledc.hasFormat = dc.????
#simpledc.hasPart = dc.???
#simpledc.hasVersion = dc.???
simpledc.identifier = dc.identifier
#simpledc.instructionalMethod = dc.???
#simpledc.isFormatOf = dc.???
simpledc.isPartOf = dc.relation.ispartof
simpledc.isReferencedBy = dc.relation.isreferencedby
simpledc.isReplacedBy = dc.relation.isreplacedby
simpledc.isRequiredBy = dc.relation.isrequiredby
simpledc.issued = dc.date.issued
#simpledc.isVersionOf = dc.????
simpledc.language = dc.language
#simpledc.license = dc.????
#simpledc.mediator = dc.????
simpledc.medium = dc.format.medium
simpledc.modified = dc.date.modified
simpledc.provenance = dc.description.provenance
simpledc.publisher = dc.publisher
simpledc.references = dc.relation.references
simpledc.relation = dc.relation
simpledc.replaces = dc.relation.replaces
simpledc.requires = dc.relation.requires
simpledc.rights = dc.rights
simpledc.rightsHolder = dc.rights
simpledc.source = dc.source
simpledc.spatial = dc.coverage.spatial
simpledc.subject = dc.subject
#simpledc.tableOfContents = dc.????
simpledc.temporal = dc.coverage.temporal
simpledc.title = dc.title
simpledc.type = dc.type
#simpledc.valid = dc.????


# order of precedence for importing multipart content.  if entry-first then
# metadata in the package will override metadata in the entry, otherwise
# the entry metadata will be applied before the package metadata, so the
# package may override the metadata supplied in the entry - it depends on
# the specific behaviour of the package ingester selected
#
# Defaults to false
multipart.entry-first = false

# if the workflow gets started, should there be a notification
# email sent
#
workflow.notify = true

# when content is replaced, should the old version of the content be kept?  This
# creates a copy of the ORIGINAL bundle with the name V_YYYY-MM-DD.X where 
YYYY-MM-DD
# is the date the copy was created, and X is an integer from 0 upwards.
#
versions.keep = true

state.workspace.uri = http://localhost:8080/xmlui/state/inprogress
state.workspace.description = The item is in the user workspace
state.workflow.uri = http://localhost:8080/xmlui/state/inreview
state.workflow.description = The item is undergoing review prior to acceptance 
to the archive
state.archive.uri = http://localhost:8080/xmlui/state/archived
state.archive.description = The item has been archived
state.withdrawn.uri = http://localhost:8080/xmlui/state/withdrawn
state.withdrawn.description = The item has been withdrawn from the item and is 
no longer available
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to