Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3668

Incorrect "wspPath" given to DavLocatorFactoryImpl.getRepositoryPath()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 2.6.3
    • None
    • jackrabbit-jcr-server
    • None
    • JBOSS AS 7.1

    Description

      When deploying jackrabbit-webapp-2.6.3.war (e.g. into JBOSS AS 7.1), everything seems to be fine and a connection to WEBDAV/DAVex (e.g. via subshell Toromiro) can be established without errors.
      All simple repository commands (like create, edit or delete node) seem to work fine, but execution of e.g. "add mixin" or "Import XML" will fail with an internal server error...
      A look into the exception stack trace clearly seems to hint to a wrong workspace path given to DavLocatorFactoryImpl.getRepositoryPath().
      (Which obviously was already called before on other commands in the same session with a correct workspace path instead...)
      Currently, I cannot really judge, wether this is a bug in Toromiro or Jackrabbit, but I can confirm, that same Toromiro version is at least working fine via WebDAV connection to jackrabbit-standalone-2.6.3.jar. So it seems to be more a Jackrabbit problem for me...

      Here all relevant files and excerpts...

      JBOSS-Deployment
      =====================================
      appserver@ubuntu:/usr/local/share/jboss/bin$ ./standalone.sh -Djboss.bind.address=localhost -Djboss.bind.address.management=localhost -Djava.rmi.server.hostname=localhost
      =========================================================================

      JBoss Bootstrap Environment

      JBOSS_HOME: /usr/local/share/jboss

      JAVA: java

      JAVA_OPTS: -server -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml

      =========================================================================

      07:45:22,814 INFO [org.jboss.modules] JBoss Modules version 1.1.1.GA
      07:45:24,334 INFO [org.jboss.msc] JBoss MSC version 1.0.2.GA
      07:45:24,514 INFO [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting
      07:45:30,296 INFO [org.xnio] XNIO Version 3.0.3.GA
      07:45:30,296 INFO [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)
      07:45:30,321 INFO [org.xnio.nio] XNIO NIO Implementation Version 3.0.3.GA
      07:45:30,335 INFO [org.jboss.as.logging] JBAS011502: Removing bootstrap log handlers
      07:45:30,338 INFO [org.jboss.as.configadmin] (ServerService Thread Pool – 26) JBAS016200: Activating ConfigAdmin Subsystem
      07:45:30,353 INFO [org.jboss.as.naming] (ServerService Thread Pool – 38) JBAS011800: Activating Naming Subsystem
      07:45:30,342 INFO [org.jboss.remoting] (MSC service thread 1-5) JBoss Remoting version 3.2.3.GA
      07:45:30,362 INFO [org.jboss.as.webservices] (ServerService Thread Pool – 48) JBAS015537: Activating WebServices Extension
      07:45:30,360 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool – 31) JBAS010280: Activating Infinispan subsystem.
      07:45:30,357 INFO [org.jboss.as.security] (ServerService Thread Pool – 44) JBAS013101: Activating Security Subsystem
      07:45:30,360 INFO [org.jboss.as.osgi] (ServerService Thread Pool – 39) JBAS011940: Activating OSGi Subsystem
      07:45:30,375 INFO [org.jboss.as.security] (MSC service thread 1-11) JBAS013100: Current PicketBox version=4.0.7.Final
      07:45:30,406 INFO [org.jboss.as.connector] (MSC service thread 1-4) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final)
      07:45:31,339 INFO [org.jboss.as.naming] (MSC service thread 1-7) JBAS011802: Starting Naming Service
      07:45:31,342 INFO [org.jboss.as.mail.extension] (MSC service thread 1-16) JBAS015400: Bound mail session [java:jboss/mail/Default]
      07:45:31,355 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool – 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
      07:45:31,864 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool – 27) JBAS010404: Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)
      07:45:32,065 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-7) Starting Coyote HTTP/1.1 on http-localhost-127.0.0.1-8080
      07:45:32,451 INFO [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-12) JBoss Web Services - Stack CXF Server 4.0.2.GA
      07:45:32,561 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-9) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
      07:45:32,565 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-13) JBAS010400: Bound data source [java:jboss/datasources/MySqlDS]
      07:45:33,053 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-15) JBAS015012: Started FileSystemDeploymentService for directory /usr/local/share/jboss/standalone/deployments
      07:45:33,085 INFO [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on localhost/127.0.0.1:4447
      07:45:33,086 INFO [org.jboss.as.remoting] (MSC service thread 1-5) JBAS017100: Listening on localhost/127.0.0.1:9999
      07:45:33,307 INFO [org.jboss.as.server.deployment] (MSC service thread 1-9) JBAS015876: Starting deployment of "jackrabbit-webapp-2.6.3.war"
      07:45:33,307 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015876: Starting deployment of "jackrabbit-jca-2.6.3.rar"
      07:46:00,733 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_cs.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,734 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_de_DE.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,734 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_es.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,734 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_fr.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,735 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_hu.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,735 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_it.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,736 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_ja_JP.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,736 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_ko_KR.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,737 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_pl.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,737 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_pt_BR.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,738 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_ru.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,738 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_zh_CN.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:00,739 WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) Class Path entry derbyLocale_zh_TW.jar in "/content/jackrabbit-jca-2.6.3.rar/derby-10.5.3.0_1.jar" does not point to a valid jar for a Class-Path reference.
      07:46:02,344 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-5) JBAS010403: Deploying JDBC-compliant driver class org.apache.derby.jdbc.AutoloadedDriver (version 10.5)
      07:46:02,520 INFO [org.apache.jackrabbit.core.RepositoryImpl] (MSC service thread 1-12) Starting repository...
      07:46:02,523 INFO [org.apache.jackrabbit.core.fs.local.LocalFileSystem] (MSC service thread 1-12) LocalFileSystem initialized at path /usr/local/share/jboss/standalone/configuration/repository/repository
      07:46:02,649 INFO [org.apache.jackrabbit.core.nodetype.NodeTypeRegistry] (MSC service thread 1-12) no custom node type definitions found
      07:46:02,666 INFO [org.apache.jackrabbit.core.fs.local.LocalFileSystem] (MSC service thread 1-12) LocalFileSystem initialized at path /usr/local/share/jboss/standalone/configuration/repository/version
      07:46:04,892 INFO [org.apache.jackrabbit.j2ee.RepositoryAccessServlet] (MSC service thread 1-7) RepositoryAccessServlet initialized.
      07:46:04,893 INFO [org.apache.jackrabbit.webdav.server.AbstractWebdavServlet] (MSC service thread 1-7) authenticate-header = Basic realm="Jackrabbit Webdav Server"
      07:46:04,893 INFO [org.apache.jackrabbit.webdav.server.AbstractWebdavServlet] (MSC service thread 1-7) csrf-protection = null
      07:46:04,894 INFO [org.apache.jackrabbit.webdav.server.AbstractWebdavServlet] (MSC service thread 1-7) createAbsoluteURI = true
      07:46:04,894 INFO [org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet] (MSC service thread 1-7) resource-path-prefix = '/repository'
      07:46:05,039 INFO [org.apache.jackrabbit.webdav.server.AbstractWebdavServlet] (MSC service thread 1-7) authenticate-header = Basic realm="Jackrabbit Webdav Server"
      07:46:05,040 INFO [org.apache.jackrabbit.webdav.server.AbstractWebdavServlet] (MSC service thread 1-7) csrf-protection = null
      07:46:05,040 INFO [org.apache.jackrabbit.webdav.server.AbstractWebdavServlet] (MSC service thread 1-7) createAbsoluteURI = true
      07:46:05,046 INFO [org.jboss.web] (MSC service thread 1-7) JBAS018210: Registering web context: /jackrabbit-webapp-2.6.3
      07:46:05,521 INFO [org.apache.jackrabbit.core.RepositoryImpl] (MSC service thread 1-12) initializing workspace 'default'...
      07:46:05,521 INFO [org.apache.jackrabbit.core.fs.local.LocalFileSystem] (MSC service thread 1-12) LocalFileSystem initialized at path /usr/local/share/jboss/standalone/configuration/repository/workspaces/default
      07:46:06,701 INFO [org.apache.jackrabbit.core.query.lucene.SearchIndex] (MSC service thread 1-12) Index initialized: /usr/local/share/jboss/standalone/configuration/repository/repository/index Version: 3
      07:46:06,858 INFO [org.apache.jackrabbit.core.query.lucene.SearchIndex] (MSC service thread 1-12) Index initialized: /usr/local/share/jboss/standalone/configuration/repository/workspaces/default/index Version: 3
      07:46:06,858 INFO [org.apache.jackrabbit.core.RepositoryImpl] (MSC service thread 1-12) workspace 'default' initialized
      07:46:06,863 INFO [org.apache.jackrabbit.core.RepositoryImpl] (MSC service thread 1-12) SecurityManager = class org.apache.jackrabbit.core.DefaultSecurityManager
      07:46:06,863 INFO [org.apache.jackrabbit.core.RepositoryImpl] (MSC service thread 1-12) initializing workspace 'security'...
      07:46:06,864 INFO [org.apache.jackrabbit.core.fs.local.LocalFileSystem] (MSC service thread 1-12) LocalFileSystem initialized at path /usr/local/share/jboss/standalone/configuration/repository/workspaces/security
      07:46:07,800 INFO [org.apache.jackrabbit.core.query.lucene.SearchIndex] (MSC service thread 1-12) Index initialized: /usr/local/share/jboss/standalone/configuration/repository/workspaces/security/index Version: 3
      07:46:07,801 INFO [org.apache.jackrabbit.core.RepositoryImpl] (MSC service thread 1-12) workspace 'security' initialized
      07:46:07,802 INFO [org.apache.jackrabbit.core.DefaultSecurityManager] (MSC service thread 1-12) init: use Repository Login-Configuration for Jackrabbit
      07:46:07,824 INFO [org.apache.jackrabbit.core.RepositoryImpl] (MSC service thread 1-12) Repository started (5304ms)
      07:46:07,825 INFO [org.jboss.as.deployment.connector] (MSC service thread 1-12) JBAS010406: Registered connection factory java:/jca/DocumentStore
      07:46:07,829 INFO [org.jboss.as.connector.deployers.RaXmlDeployer] (MSC service thread 1-12) IJ020002: Deployed: file:/usr/local/share/jboss/standalone/tmp/vfs/temp91e1b58f0fb8ebd3/jackrabbit-jca-2.6.3.rar-f0a7e5e6b2164cbe/contents/
      07:46:07,831 INFO [org.jboss.as.deployment.connector] (MSC service thread 1-13) JBAS010401: Bound JCA ConnectionFactory [java:/jca/DocumentStore]
      07:46:07,831 INFO [org.jboss.as] (MSC service thread 1-6) JBAS015951: Admin console listening on http://127.0.0.1:9990
      07:46:07,832 INFO [org.jboss.as] (MSC service thread 1-6) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 46618ms - Started 218 of 298 services (78 services are passive or on-demand)
      07:46:08,097 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "jackrabbit-webapp-2.6.3.war"
      07:46:08,098 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "jackrabbit-jca-2.6.3.rar"

      repository.xml
      =====================================
      <?xml version="1.0"?>
      <!--
      Licensed to the Apache Software Foundation (ASF) under one or more
      contributor license agreements. See the NOTICE file distributed with
      this work for additional information regarding copyright ownership.
      The ASF licenses this file to You under the Apache License, Version 2.0
      (the "License"); you may not use this file except in compliance with
      the License. You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
      -->

      <!DOCTYPE Repository
      PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
      "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">

      <!-- Example Repository Configuration File
      Used by

      • org.apache.jackrabbit.core.config.RepositoryConfigTest.java
        -
        -->
        <Repository>
        <!--
        virtual file system where the repository stores global state
        (e.g. registered namespaces, custom node types, etc.)
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
        <param name="path" value="${rep.home}/repository"/>
        </FileSystem>

      <!--
      data store configuration
      -->
      <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>

      <!--
      security configuration
      -->
      <Security appName="Jackrabbit">
      <!--
      security manager:
      class: FQN of class implementing the JackrabbitSecurityManager interface
      -->
      <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
      <!--
      workspace access:
      class: FQN of class implementing the WorkspaceAccessManager interface
      -->
      <!-- <WorkspaceAccessManager class="..."/> -->
      <!-- <param name="config" value="${rep.home}/security.xml"/> -->
      </SecurityManager>

      <!--
      access manager:
      class: FQN of class implementing the AccessManager interface
      -->
      <AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager">
      <!-- <param name="config" value="${rep.home}/access.xml"/> -->
      </AccessManager>

      <LoginModule class="org.apache.jackrabbit.core.security.authentication.DefaultLoginModule">
      <!--
      anonymous user name ('anonymous' is the default value)
      -->
      <param name="anonymousId" value="anonymous"/>
      <!--
      administrator user id (default value if param is missing is 'admin')
      -->
      <param name="adminId" value="admin"/>
      </LoginModule>
      </Security>

      <!--
      location of workspaces root directory and name of default workspace
      -->
      <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
      <!--
      workspace configuration template:
      used to create the initial workspace if there's no workspace yet
      -->
      <Workspace name="${wsp.name}">
      <!--
      virtual file system of the workspace:
      class: FQN of class implementing the FileSystem interface
      -->
      <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name="path" value="${wsp.home}"/>
      </FileSystem>
      <!--
      persistence manager of the workspace:
      class: FQN of class implementing the PersistenceManager interface
      -->
      <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager">
      <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
      <param name="schemaObjectPrefix" value="${wsp.name}_"/>
      </PersistenceManager>
      <!--
      Search index and the file system it uses.
      class: FQN of class implementing the QueryHandler interface
      -->
      <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
      <param name="path" value="${wsp.home}/index"/>
      <param name="supportHighlighting" value="true"/>
      </SearchIndex>
      </Workspace>

      <!--
      Configures the versioning
      -->
      <Versioning rootPath="${rep.home}/version">
      <!--
      Configures the filesystem to use for versioning for the respective
      persistence manager
      -->
      <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name="path" value="${rep.home}/version" />
      </FileSystem>

      <!--
      Configures the persistence manager to be used for persisting version state.
      Please note that the current versioning implementation is based on
      a 'normal' persistence manager, but this could change in future
      implementations.
      -->
      <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager">
      <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/>
      <param name="schemaObjectPrefix" value="version_"/>
      </PersistenceManager>
      </Versioning>

      <!--
      Search index for content that is shared repository wide
      (/jcr:system tree, contains mainly versions)
      -->
      <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
      <param name="path" value="${rep.home}/repository/index"/>
      <param name="supportHighlighting" value="true"/>
      </SearchIndex>

      <!--
      Run with a cluster journal
      -->
      <Cluster id="node1">
      <Journal class="org.apache.jackrabbit.core.journal.MemoryJournal"/>
      </Cluster>
      </Repository>

      web.xml
      =====================================
      <?xml version="1.0" encoding="UTF-8"?>

      <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
      <web-app>
      <display-name>Jackrabbit JCR Server</display-name>

      <!-- ====================================================================== -->
      <!-- R E P O S I T O R Y S E R V L E T -->
      <!-- ====================================================================== -->
      <servlet>
      <servlet-name>Repository</servlet-name>
      <description>
      This servlet provides other servlets and jsps a common way to access
      the repository. The repository can be accessed via JNDI, RMI or Webdav.
      </description>
      <servlet-class>org.apache.jackrabbit.j2ee.RepositoryAccessServlet</servlet-class>

      <!-- <init-param>
      <param-name>repository.context.attribute.name</param-name>
      <param-value>javax.jcr.Repository</param-value>
      </init-param> -->

      <init-param>
      <param-name>repository-name</param-name>
      <param-value>java:/jca/DocumentStore</param-value>
      <description>Repository Name that is used to retrieve it via JNDI</description>
      </init-param>

      <init-param>
      <param-name>java.naming.provider.url</param-name>
      <param-value>jnp://localhost:1099</param-value>
      </init-param>

      <init-param>
      <param-name>java.naming.factory.initial</param-name>
      <param-value>org.jboss.as.naming.InitialContextFactory</param-value>
      </init-param>

      <!-- <init-param>
      <param-name>missing-auth-mapping</param-name>
      <param-value></param-value>
      <description>
      Defines how a missing authorization header should be handled.
      1) If this init-param is missing, a 401 response is generated.
      This is suiteable for clients (eg. webdav clients) for which
      sending a proper authorization header is not possible if the
      server never sent a 401.
      2) If this init-param is present with an empty value,
      null-credentials are returned, thus forcing an null login
      on the repository.
      3) If this init-param has a 'user:password' value, the respective
      simple credentials are generated.
      </description>
      </init-param>-->

      <!--
      JNDI environment variables for creating the initial context
      (all init parameters starting with java.naming.* will be added to the initial context environment).

      <init-param>
      <param-name>java.naming.provider.url</param-name>
      <param-value>http://www.apache.org/jackrabbit</param-value>
      </init-param>
      <init-param>
      <param-name>java.naming.factory.initial</param-name>
      <param-value>org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory</param-value>
      </init-param>
      -->
      <!--
      RMI url, if RMI remoting is needed
      -->

      <!--<init-param>
      <param-name>rmi-uri</param-name>
      <param-value>///jackrabbit.repository</param-value>
      <description>The URI for the RMI connection.</description>
      </init-param>-->

      <load-on-startup>3</load-on-startup>
      </servlet>

      <!-- ====================================================================== -->
      <!-- W E B D A V S E R V L E T -->
      <!-- ====================================================================== -->
      <servlet>
      <servlet-name>Webdav</servlet-name>
      <description>
      The webdav servlet that connects HTTP request to the repository.
      </description>
      <servlet-class>org.apache.jackrabbit.j2ee.SimpleWebdavServlet</servlet-class>
      <!-- <servlet-class>org.apache.jackrabbit.j2ee.JcrRemotingServlet</servlet-class> -->

      <init-param>
      <param-name>resource-path-prefix</param-name>
      <param-value>/repository</param-value>
      <description>
      defines the prefix for spooling resources out of the repository.
      </description>
      </init-param>
      <!--
      Optional parameter to define the value of the 'WWW-Authenticate' header
      -->
      <!--
      <init-param>
      <param-name>authenticate-header</param-name>
      <param-value>Basic realm="Jackrabbit Webdav Server"</param-value>
      <description>
      Defines the value of the 'WWW-Authenticate' header.
      </description>
      </init-param>
      -->
      <!--
      Parameter used to configure behaviour of webdav resources such as:

      • destinction between collections and non-collections
      • resource filtering
        -->
        <init-param>
        <param-name>resource-config</param-name>
        <param-value>/WEB-INF/config.xml</param-value>
        <description>
        Defines various dav-resource configuration parameters.
        </description>
        </init-param>
        <load-on-startup>4</load-on-startup>
        </servlet>

      <!-- ====================================================================== -->
      <!-- W E B D A V S E R V E R S E R V L E T -->
      <!-- ====================================================================== -->
      <servlet>
      <servlet-name>JCRWebdavServer</servlet-name>
      <description>
      The webdav servlet that connects HTTP request to the repository.
      </description>
      <servlet-class>org.apache.jackrabbit.j2ee.JCRWebdavServerServlet</servlet-class>
      <!-- <servlet-class>org.apache.jackrabbit.j2ee.JcrRemotingServlet</servlet-class> -->
      <!-- <init-param>
      <param-name>missing-auth-mapping</param-name>
      <param-value></param-value>
      <description>
      Defines how a missing authorization header should be handled.
      1) If this init-param is missing, a 401 response is generated.
      This is suitable for clients (eg. WebDAV clients) for which
      sending a proper authorization header is not possible if the
      server never sent a 401.
      2) If this init-param is present with an empty value,
      null-credentials are returned, thus forcing an null login
      on the repository.
      3) If this init-param is present with the value 'guestcredentials'
      java.jcr.GuestCredentials are used to login to the repository.
      4) If this init-param has a 'user:password' value, the respective
      simple credentials are generated.
      </description>
      </init-param> -->
      <!--
      Optional parameter to define the value of the 'WWW-Authenticate' header
      -->

      <!-- <init-param>
      <param-name>authenticate-header</param-name>
      <param-value>Basic realm="Jackrabbit Webdav Server"</param-value>
      <description>
      Defines the value of the 'WWW-Authenticate' header.
      </description>
      </init-param> -->

      <init-param>
      <param-name>resource-path-prefix</param-name>
      <param-value>/server</param-value>
      <description>
      defines the prefix for spooling resources out of the repository.
      </description>
      </init-param>

      <!--
      Init parameters specific for JcrRemotingServlet
      -->
      <!--
      <init-param>
      <param-name>home</param-name>
      <param-value></param-value>
      <description>JcrRemotingServlet: Optional home directory for JcrRemotingServlet temporary files (default: "jackrabbit")</description>
      </init-param>
      <init-param>
      <param-name>temp-directory</param-name>
      <param-value></param-value>
      <description>JcrRemotingServlet: Optional temporary directory name (under home, default: "tmp")</description>
      </init-param>
      -->
      <init-param>
      <param-name>batchread-config</param-name>
      <param-value>/WEB-INF/batchread.properties</param-value>
      <description>JcrRemotingServlet: Optional mapping from node type names to default depth.</description>
      </init-param>

      <load-on-startup>5</load-on-startup>
      </servlet>

      <!-- ====================================================================== -->
      <!-- R M I B I N D I N G S E R V L E T -->
      <!-- ====================================================================== -->
      <servlet>
      <servlet-name>RMI</servlet-name>
      <servlet-class>org.apache.jackrabbit.servlet.remote.RemoteBindingServlet</servlet-class>
      </servlet>

      <!-- ====================================================================== -->
      <!-- S E R V L E T M A P P I N G -->
      <!-- ====================================================================== -->
      <servlet-mapping>
      <servlet-name>Webdav</servlet-name>
      <url-pattern>/repository/*</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
      <servlet-name>JCRWebdavServer</servlet-name>
      <url-pattern>/server/*</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
      <servlet-name>RMI</servlet-name>
      <url-pattern>/rmi</url-pattern>
      </servlet-mapping>
      </web-app>

      bootstrap.properties
      =====================================

      1. Licensed to the Apache Software Foundation (ASF) under one or more
      2. contributor license agreements. See the NOTICE file distributed with
      3. this work for additional information regarding copyright ownership.
      4. The ASF licenses this file to You under the Apache License, Version 2.0
      5. (the "License"); you may not use this file except in compliance with
      6. the License. You may obtain a copy of the License at
        #
      7. http://www.apache.org/licenses/LICENSE-2.0
        #
      8. Unless required by applicable law or agreed to in writing, software
      9. distributed under the License is distributed on an "AS IS" BASIS,
      10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      11. See the License for the specific language governing permissions and
      12. limitations under the License.
      1. This is the template file for the 'bootstrap.properties' that will
      2. be placed in the repository home directory (or whatever is specified
      3. in the "bootstrap-config" init parameter.
      1. Repository configuration settings (will be adjusted by installer)
        repository.config=usr/local/share/jboss/standalone/configuration/repository/repository.xml
        repository.home=usr/local/share/jboss/standalone/configuration/repository
        repository.name=repository
      1. RMI Settings
        #rmi.enabled=true
        #rmi.port=1199
        #rmi.host=localhost
      2. If the URI is not specified, it's composed as follows:
        #rmi.uri=//${rmi.host}:${rmi.port}/${repository.name}
      1. JNDI Settings
      2. all properties starting with 'java.naming.' will go into the
      3. environment of the initial context
        jndi.enabled=true
      4. if the name is not specified, it's initialized with the repository.name
        jndi.name=java:/jca/DocumentStore
        #jndi.name=${repository.name}
        #jndi.name=repository
        java.naming.provider.url=jnp://localhost:1099
        java.naming.factory.initial=org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory

      Toromiro Failure Log (After "add mixin")
      =====================================
      !SESSION 2013-09-18 06:46:39.948 -----------------------------------------------
      eclipse.buildId=unknown
      java.version=1.7.0_09
      java.vendor=Oracle Corporation
      BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=de_DE
      Command-line arguments: -os linux -ws gtk -arch x86

      !ENTRY com.subshell.toromiro 4 0 2013-09-18 07:00:26.169
      !MESSAGE Exception occurred
      !STACK 0
      java.lang.reflect.InvocationTargetException
      at com.subshell.toromiro.actions.AddMixinAction$1.run(Unknown Source)
      at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
      Caused by: javax.jcr.RepositoryException: Internal Server Error
      at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:120)
      at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:51)
      at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:45)
      at org.apache.jackrabbit.spi2dav.RepositoryServiceImpl.isGranted(RepositoryServiceImpl.java:904)
      at org.apache.jackrabbit.jcr2spi.WorkspaceManager.canRead(WorkspaceManager.java:695)
      at org.apache.jackrabbit.jcr2spi.state.ItemStateValidator.checkIsWritable(ItemStateValidator.java:199)
      at org.apache.jackrabbit.jcr2spi.NodeImpl.canAddMixin(NodeImpl.java:837)
      at com.subshell.toromiro.delegators.NodeDelegator.canAddMixin(Unknown Source)
      ... 2 more
      Caused by: org.apache.jackrabbit.webdav.DavException: Internal Server Error
      at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getResponseException(DavMethodBase.java:165)
      at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.checkSuccess(DavMethodBase.java:174)
      at org.apache.jackrabbit.spi2dav.RepositoryServiceImpl.isGranted(RepositoryServiceImpl.java:876)
      ... 6 more
      Root exception:
      javax.jcr.RepositoryException: Internal Server Error
      at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:120)
      at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:51)
      at org.apache.jackrabbit.spi2dav.ExceptionConverter.generate(ExceptionConverter.java:45)
      at org.apache.jackrabbit.spi2dav.RepositoryServiceImpl.isGranted(RepositoryServiceImpl.java:904)
      at org.apache.jackrabbit.jcr2spi.WorkspaceManager.canRead(WorkspaceManager.java:695)
      at org.apache.jackrabbit.jcr2spi.state.ItemStateValidator.checkIsWritable(ItemStateValidator.java:199)
      at org.apache.jackrabbit.jcr2spi.NodeImpl.canAddMixin(NodeImpl.java:837)
      at com.subshell.toromiro.delegators.NodeDelegator.canAddMixin(Unknown Source)
      at com.subshell.toromiro.actions.AddMixinAction$1.run(Unknown Source)
      at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
      Caused by: org.apache.jackrabbit.webdav.DavException: Internal Server Error
      at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.getResponseException(DavMethodBase.java:165)
      at org.apache.jackrabbit.webdav.client.methods.DavMethodBase.checkSuccess(DavMethodBase.java:174)
      at org.apache.jackrabbit.spi2dav.RepositoryServiceImpl.isGranted(RepositoryServiceImpl.java:876)
      ... 6 more

      JBOSS Failure Log (After "add mixin")
      =====================================
      07:00:25,637 ERROR [org.apache.jackrabbit.webdav.jcr.DavLocatorFactoryImpl] (http-localhost-127.0.0.1-8080-1) Unexpected format of resource path.
      07:00:25,639 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jackrabbit-webapp-2.6.3].[JCRWebdavServer]] (http-localhost-127.0.0.1-8080-1) Servlet.service() for servlet JCRWebdavServer threw exception: java.lang.IllegalArgumentException: Unexpected format of resource path: /jackrabbit-webapp-2.6.3/server/default/jcr:root/dfgdfg (workspace: /jackrabbit-webapp-2.6.3)
      at org.apache.jackrabbit.webdav.jcr.DavLocatorFactoryImpl.getRepositoryPath(DavLocatorFactoryImpl.java:65) [jackrabbit-jcr-server-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.AbstractLocatorFactory$DavResourceLocatorImpl.getRepositoryPath(AbstractLocatorFactory.java:356) [jackrabbit-webdav-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.addResponses(JcrPrivilegeReport.java:117) [jackrabbit-jcr-server-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.jcr.version.report.JcrPrivilegeReport.init(JcrPrivilegeReport.java:102) [jackrabbit-jcr-server-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.version.report.ReportType.createReport(ReportType.java:72) [jackrabbit-webdav-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.jcr.AbstractResource.getReport(AbstractResource.java:487) [jackrabbit-jcr-server-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.jcr.WorkspaceResourceImpl.getReport(WorkspaceResourceImpl.java:84) [jackrabbit-jcr-server-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.doReport(AbstractWebdavServlet.java:1096) [jackrabbit-webdav-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.execute(AbstractWebdavServlet.java:402) [jackrabbit-webdav-2.6.3.jar:]
      at org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:291) [jackrabbit-webdav-2.6.3.jar:]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
      at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09]

      Attachments

        1. web.xml
          10 kB
          Andreas Tully
        2. toromiro.log
          3 kB
          Andreas Tully
        3. repository.xml
          6 kB
          Andreas Tully
        4. jboss-deployment.log
          12 kB
          Andreas Tully
        5. jboss.log
          3 kB
          Andreas Tully
        6. bootstrap.properties
          2 kB
          Andreas Tully

        Issue Links

          Activity

            People

              Unassigned Unassigned
              andreas.tully Andreas Tully
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: