[fcrepo-user] Policy blocked datastream resolution error on ingest of Managed DC datastream

3 views
Skip to first unread message

Janna Wemekamp

unread,
Nov 17, 2010, 7:31:28 PM11/17/10
to Fedora Users
I'm attempting to ingest an object via FC's REST API where the DC datastream has control group 'M'.
Here's the snippet of the FOXML:

  <foxml:datastream ID="DC" CONTROL_GROUP="M" STATE="A" VERSIONABLE="false">
    <foxml:datastreamVersion ID="DC1.0" LABEL="Dublin Core Record for this object"
      MIMETYPE="text/xml; charset=UTF-8" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/">
      <foxml:contentLocation TYPE="URL" REF="file:///tmp/fc/loader/datastreams/C4oC-metadata-dc.xml" />
    </foxml:datastreamVersion>
  </foxml:datastream>

The ingest fails with a "Policy blocked datastream resolution" error. (I've included the full error log below.) The same error occurs if I use the Java admin client.

This is FC 3.4.1 with a default set of XACML policies. In particular, I have not touched deny-unallowed-file-resolution.xml.
I am able to ingest other managed datastreams successfully for other objects; it's only failing on a managed DC datastream.

Is there something special about the DC datastream which requires changes to deny-unallowed-file-resolution.xml?
I've tried setting "defaultDCControlGroup" to "M" in fedora.fcfg; no effect.

Thanks for any help!


Janna Wemekamp
Toldark Pty Ltd


INFO 2010-11-18 11:17:11.093 [TP-Processor3] (Cache) Authenticating user [fedoraAdmin]
INFO 2010-11-18 11:17:11.676 [TP-Processor3] (DefaultDOManager) New object PID is test:100
INFO 2010-11-18 11:17:11.687 [TP-Processor3] (DefaultExternalContentManager) Checking resolution security on file:/tmp/fc/loader/datastreams/C4oC-metadata-dc.xml
ERROR 2010-11-18 11:17:11.696 [TP-Processor3] (DefaultExternalContentManager) noOp
org.fcrepo.server.errors.authorization.AuthzPermittedException: noOp
    at org.fcrepo.server.security.PolicyEnforcementPoint.enforce(PolicyEnforcementPoint.java:426) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.security.DefaultAuthorization.enforceRetrieveFile(DefaultAuthorization.java:1660) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultExternalContentManager.getFromFilesystem(DefaultExternalContentManager.java:242) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultExternalContentManager.getExternalContent(DefaultExternalContentManager.java:146) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.types.DatastreamManagedContent.getContentStream(DatastreamManagedContent.java:166) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.types.XMLDatastreamProcessor.getXMLContent(XMLDatastreamProcessor.java:170) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultDOManager.populateDC(DefaultDOManager.java:1023) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultDOManager.getIngestWriter(DefaultDOManager.java:942) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.management.DefaultManagement.ingest(DefaultManagement.java:160) [fcrepo-server-3.4.1.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_22]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_22]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_22]
    at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_22]
    at org.fcrepo.server.messaging.NotificationInvocationHandler.invoke(NotificationInvocationHandler.java:68) [fcrepo-server-3.4.1.jar:na]
    at $Proxy0.ingest(Unknown Source) [na:na]
    at org.fcrepo.server.management.ManagementModule.ingest(ManagementModule.java:354) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.rest.FedoraObjectResource.createObject(FedoraObjectResource.java:293) [fcrepo-server-3.4.1.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_22]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_22]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_22]
    at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_22]
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterRestApiFlash.doFilter(FilterRestApiFlash.java:79) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:na]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:na]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) [catalina.jar:na]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) [catalina.jar:na]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:na]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:na]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) [catalina.jar:na]
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) [tomcat-coyote.jar:na]
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891) [tomcat-coyote.jar:na]
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) [tomcat-coyote.jar:na]
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_22]
INFO 2010-11-18 11:17:11.700 [TP-Processor3] (DefaultManagement) Completed ingest(objectXML, format: info:fedora/fedora-system:FOXML-1.1, encoding: UTF-8, pid    : null, logMessage: null)
ERROR 2010-11-18 11:17:11.703 [TP-Processor3] (FedoraObjectResource) Unexpected error fulfilling REST API request
org.fcrepo.server.errors.GeneralException: Ingest failed: java.lang.RuntimeException
    at org.fcrepo.server.storage.DefaultDOManager.getIngestWriter(DefaultDOManager.java:970) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.management.DefaultManagement.ingest(DefaultManagement.java:160) [fcrepo-server-3.4.1.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_22]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_22]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_22]
    at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_22]
    at org.fcrepo.server.messaging.NotificationInvocationHandler.invoke(NotificationInvocationHandler.java:68) [fcrepo-server-3.4.1.jar:na]
    at $Proxy0.ingest(Unknown Source) [na:na]
    at org.fcrepo.server.management.ManagementModule.ingest(ManagementModule.java:354) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.rest.FedoraObjectResource.createObject(FedoraObjectResource.java:293) [fcrepo-server-3.4.1.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_22]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_22]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_22]
    at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_22]
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterRestApiFlash.doFilter(FilterRestApiFlash.java:79) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:na]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:na]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) [catalina.jar:na]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) [catalina.jar:na]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:na]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:na]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) [catalina.jar:na]
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) [tomcat-coyote.jar:na]
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891) [tomcat-coyote.jar:na]
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) [tomcat-coyote.jar:na]
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_22]
Caused by: java.lang.RuntimeException: Unable to read managed stream contents
    at org.fcrepo.server.storage.types.XMLDatastreamProcessor.getXMLContent(XMLDatastreamProcessor.java:174) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultDOManager.populateDC(DefaultDOManager.java:1023) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultDOManager.getIngestWriter(DefaultDOManager.java:942) [fcrepo-server-3.4.1.jar:na]
    ... 57 common frames omitted
Caused by: org.fcrepo.server.errors.StreamIOException: [DatastreamManagedContent] returned  the error: "org.fcrepo.server.errors.HttpServiceNotFoundException". Reason: [DefaultExternalContentManager] returned an error.  The underlying error was a org.fcrepo.server.errors.HttpServiceNotFoundException  The message was  "Policy blocked datastream resolution"  . 
    at org.fcrepo.server.storage.types.DatastreamManagedContent.getContentStream(DatastreamManagedContent.java:184) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.types.XMLDatastreamProcessor.getXMLContent(XMLDatastreamProcessor.java:170) [fcrepo-server-3.4.1.jar:na]
    ... 59 common frames omitted
Caused by: org.fcrepo.server.errors.HttpServiceNotFoundException: [DefaultExternalContentManager] returned an error.  The underlying error was a org.fcrepo.server.errors.HttpServiceNotFoundException  The message was  "Policy blocked datastream resolution"  . 
    at org.fcrepo.server.storage.DefaultExternalContentManager.getExternalContent(DefaultExternalContentManager.java:155) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.types.DatastreamManagedContent.getContentStream(DatastreamManagedContent.java:166) [fcrepo-server-3.4.1.jar:na]
    ... 60 common frames omitted
Caused by: org.fcrepo.server.errors.HttpServiceNotFoundException: Policy blocked datastream resolution
    at org.fcrepo.server.storage.DefaultExternalContentManager.getFromFilesystem(DefaultExternalContentManager.java:254) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultExternalContentManager.getExternalContent(DefaultExternalContentManager.java:146) [fcrepo-server-3.4.1.jar:na]
    ... 61 common frames omitted
Caused by: org.fcrepo.server.errors.authorization.AuthzPermittedException: noOp
    at org.fcrepo.server.security.PolicyEnforcementPoint.enforce(PolicyEnforcementPoint.java:426) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.security.DefaultAuthorization.enforceRetrieveFile(DefaultAuthorization.java:1660) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultExternalContentManager.getFromFilesystem(DefaultExternalContentManager.java:242) [fcrepo-server-3.4.1.jar:na]
    ... 62 common frames omitted
ERROR 2010-11-18 11:17:11.712 [TP-Processor3] (WebApplicationImpl) Internal server error
javax.ws.rs.WebApplicationException: org.fcrepo.server.errors.GeneralException: Ingest failed: java.lang.RuntimeException
    at org.fcrepo.server.rest.BaseRestResource.handleException(BaseRestResource.java:168) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.rest.FedoraObjectResource.createObject(FedoraObjectResource.java:298) [fcrepo-server-3.4.1.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_22]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_22]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_22]
    at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_22]
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:175) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:163) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590) [jersey-bundle-1.0.3.1.jar:1.0.3.1]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterRestApiFlash.doFilter(FilterRestApiFlash.java:79) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.fcrepo.server.security.servletfilters.FilterSetup.doFilter(FilterSetup.java:235) [fcrepo-server-3.4.1.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:na]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:na]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:na]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) [catalina.jar:na]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) [catalina.jar:na]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:na]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:na]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) [catalina.jar:na]
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) [tomcat-coyote.jar:na]
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698) [tomcat-coyote.jar:na]
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891) [tomcat-coyote.jar:na]
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) [tomcat-coyote.jar:na]
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_22]
Caused by: org.fcrepo.server.errors.GeneralException: Ingest failed: java.lang.RuntimeException
    at org.fcrepo.server.storage.DefaultDOManager.getIngestWriter(DefaultDOManager.java:970) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.management.DefaultManagement.ingest(DefaultManagement.java:160) [fcrepo-server-3.4.1.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_22]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.6.0_22]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_22]
    at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_22]
    at org.fcrepo.server.messaging.NotificationInvocationHandler.invoke(NotificationInvocationHandler.java:68) [fcrepo-server-3.4.1.jar:na]
    at $Proxy0.ingest(Unknown Source) [na:na]
    at org.fcrepo.server.management.ManagementModule.ingest(ManagementModule.java:354) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.rest.FedoraObjectResource.createObject(FedoraObjectResource.java:293) [fcrepo-server-3.4.1.jar:na]
    ... 48 common frames omitted
Caused by: java.lang.RuntimeException: Unable to read managed stream contents
    at org.fcrepo.server.storage.types.XMLDatastreamProcessor.getXMLContent(XMLDatastreamProcessor.java:174) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultDOManager.populateDC(DefaultDOManager.java:1023) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultDOManager.getIngestWriter(DefaultDOManager.java:942) [fcrepo-server-3.4.1.jar:na]
    ... 57 common frames omitted
Caused by: org.fcrepo.server.errors.StreamIOException: [DatastreamManagedContent] returned  the error: "org.fcrepo.server.errors.HttpServiceNotFoundException". Reason: [DefaultExternalContentManager] returned an error.  The underlying error was a org.fcrepo.server.errors.HttpServiceNotFoundException  The message was  "Policy blocked datastream resolution"  . 
    at org.fcrepo.server.storage.types.DatastreamManagedContent.getContentStream(DatastreamManagedContent.java:184) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.types.XMLDatastreamProcessor.getXMLContent(XMLDatastreamProcessor.java:170) [fcrepo-server-3.4.1.jar:na]
    ... 59 common frames omitted
Caused by: org.fcrepo.server.errors.HttpServiceNotFoundException: [DefaultExternalContentManager] returned an error.  The underlying error was a org.fcrepo.server.errors.HttpServiceNotFoundException  The message was  "Policy blocked datastream resolution"  . 
    at org.fcrepo.server.storage.DefaultExternalContentManager.getExternalContent(DefaultExternalContentManager.java:155) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.types.DatastreamManagedContent.getContentStream(DatastreamManagedContent.java:166) [fcrepo-server-3.4.1.jar:na]
    ... 60 common frames omitted
Caused by: org.fcrepo.server.errors.HttpServiceNotFoundException: Policy blocked datastream resolution
    at org.fcrepo.server.storage.DefaultExternalContentManager.getFromFilesystem(DefaultExternalContentManager.java:254) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultExternalContentManager.getExternalContent(DefaultExternalContentManager.java:146) [fcrepo-server-3.4.1.jar:na]
    ... 61 common frames omitted
Caused by: org.fcrepo.server.errors.authorization.AuthzPermittedException: noOp
    at org.fcrepo.server.security.PolicyEnforcementPoint.enforce(PolicyEnforcementPoint.java:426) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.security.DefaultAuthorization.enforceRetrieveFile(DefaultAuthorization.java:1660) [fcrepo-server-3.4.1.jar:na]
    at org.fcrepo.server.storage.DefaultExternalContentManager.getFromFilesystem(DefaultExternalContentManager.java:242) [fcrepo-server-3.4.1.jar:na]
    ... 62 common frames omitted

Steve Bayliss

unread,
Nov 18, 2010, 3:46:18 AM11/18/10
to Support and info exchange list for Fedora users.
Hi Janna
 
This sounds like there may be a bug.  To be sure, could you repeat the ingest, editing your FOXML to change only the datastream ID to eg DC_TEST and leave everything else (including the filename/location) exactly as it is.
 
If that works fine I'll raise a JIRA issue for this.
 
Regards
Steve

Janna Wemekamp

unread,
Nov 18, 2010, 4:25:19 PM11/18/10
to Support and info exchange list for Fedora users.
Hi Steve,

Tried your suggestion. The ingest quite happily loads the DC_TEST datastream and creates it with control group 'M'.
It also creates a separate DC datastream with control group 'X'.

Definitely sounds like a bug 8-(

Thanks for the quick response!


Janna

------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________ Fedora-commons-users mailing list Fedora-com...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Steve Bayliss

unread,
Nov 19, 2010, 8:05:05 AM11/19/10
to Janna Wemekamp, Support and info exchange list for Fedora users.
Hi Janna
 
Re-reading, I was a little confused by this behaviour.  If you haven't modified deny-unallowed-file-resolution.xml (or implemented access to files in some other policy), then ingesting with M datastreams with contentLocations specified as file:/// should simply fail, whatever the datastream ID.
 
Attempting to reproduce here, ingesting DC_TEST as "M" with a file:/// protocol did indeed fail here.  However updating that policy to allow the file resolution, the ingest succeed.
 
After updating the policy, I am able to reproduce the bug with DC:  It seems that the content of DC is read during the ingest (to check eg for dc:identifier, and add if not present) - however the auth is not being passed through whilst reading the file content, so it fails.
 

Janna Wemekamp

unread,
Nov 19, 2010, 6:32:38 PM11/19/10
to Steve Bayliss, Support and info exchange list for Fedora users.

On 20/11/2010 00:05, Steve Bayliss wrote:
Hi Janna
 
Re-reading, I was a little confused by this behaviour.  If you haven't modified deny-unallowed-file-resolution.xml (or implemented access to files in some other policy), then ingesting with M datastreams with contentLocations specified as file:/// should simply fail, whatever the datastream ID.

Sorry, my omission. I should have added that I did not enable XACML policy enforcement during the install and did not modify the default/deny-unallowed-file-resolution.xml  post-installation.



Attempting to reproduce here, ingesting DC_TEST as "M" with a file:/// protocol did indeed fail here.  However updating that policy to allow the file resolution, the ingest succeed.
 
After updating the policy, I am able to reproduce the bug with DC:  It seems that the content of DC is read during the ingest (to check eg for dc:identifier, and add if not present) - however the auth is not being passed through whilst reading the file content, so it fails.
 
Thanks!

Janna
Reply all
Reply to author
Forward
0 new messages