[
http://jira.codehaus.org/browse/MRM-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_94644
]
Joakim Erdfelt commented on MRM-323:
------------------------------------
I think I might have found a solution for this in the branch.
It seems that the RegistryListener isn't available or plumbed unless you have
AT LEAST ONCE accessed the webdav url.
You can try this by changing the order of your test case.
(To duplicate)
# Start archiva
# Create a new repository
# Attempt to access the repository via webdav url
# Error occurs.
(To duplicate - alternate)
# Start archiva
# Edit an existing repository's Directory (or URL)
# Attempt to access this changed repository's webdav url.
# Error occurs.
(To get around bug)
# Start archiva.
# Attempt to access webdav url
# Error occurs.
# Goto admin screens and make changes to any existing repositories and/or add
repositories.
# Attempt to access webdav urls on any of those changed repositories.
# Works!
How to fix (in your web.xml) ...
{code:xml}
<servlet>
<servlet-name>RepositoryServlet</servlet-name>
<servlet-class>org.apache.maven.archiva.web.repository.RepositoryServlet</servlet-class>
<!-- Loading this on startup so as to take advantage of configuration
listeners -->
<load-on-startup>true</load-on-startup>
</servlet>
{code}
This fix is arriving in the branch shortly.
> Managed repo in archiva cannot be accessed thru direct webdav url even with
> valid credentials (Archiva deployed in Tomcat)
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: MRM-323
> URL: http://jira.codehaus.org/browse/MRM-323
> Project: Archiva
> Issue Type: Bug
> Components: WebDAV interface
> Affects Versions: 1.0
> Environment: - Tomcat 5.5.20
> - Linux
> - Mozilla Firefox
> Reporter: Maria Odea Ching
>
> Steps to re-create issue:
> - Deploy Archiva in Tomcat, then start tomcat
> - Access Archiva in browser and set the required configurations
> - Add A Managed Repository with the following configuration:
> - id: snapshots
> - name: snapshots
> - url: snapshots (it would have the value
> http://localhost:[PORT]/archiva/repository/snapshots)
> - directory: snapshots
> - Go to User Management and add the Repository Observer role for the
> 'snapshots' repo to the current user
> - Open a new tab in your browser then type the webdav URL:
> http://localhost:[PORT]/archiva/repository/snapshots
> - Supply the user credentials for the 'snapshots' repository. You still
> wouldn't be able to access it even if you supply the correct credentials.
> Also, the following error shows up in the Archiva logs when you try to build
> a Maven project with your settings.xml file configured to use the
> repositories in archiva:
> 102476 [http-9696-Processor23] ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/archiva].[RepositoryServlet]
> - Servlet.service() for servlet RepositoryServlet threw exception
> javax.servlet.ServletException: Unable to service DAV request due to
> unconfigured DavServerComponent for prefix [snapshots].
> at
> org.codehaus.plexus.webdav.servlet.multiplexed.MultiplexedWebDavServlet.service(MultiplexedWebDavServlet.java:93)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:189)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira