Cannot Access WebDAV Configuration's Page
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
The WebDAV page can not be accessed and the following appears in the atlassian-confluence.log
:
com.thoughtworks.xstream.converters.ConversionException: Invalid
final field
com.atlassian.confluence.extra.webdav.WebdavSettings.excludedClientUserAgentRegexes
---- Debugging information ---- message : Invalid final field
com.atlassian.confluence.extra.webdav.WebdavSettings.excludedClientUserAgentRegexes
line number : 2 path :
/com.atlassian.confluence.extra.webdav.WebdavSettings/excludedClientUserAgentRegexes
cause-message : Invalid final field
com.atlassian.confluence.extra.webdav.WebdavSettings.excludedClientUserAgentRegexes
class : com.atlassian.confluence.extra.webdav.WebdavSettings
cause-exception :
com.thoughtworks.xstream.converters.reflection.ObjectAccessException
required-type : com.atlassian.confluence.extra.webdav.WebdavSettings
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:45)
caused by:
com.thoughtworks.xstream.converters.reflection.ObjectAccessException:
Invalid final field
com.atlassian.confluence.extra.webdav.WebdavSettings.excludedClientUserAgentRegexes
at
com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.validateFieldAccess(PureJavaReflectionProvider.java:150)
Cause
Occurs due to errors in the configuration of the WebDAV itself (regexes) performed by the user.
There is also a known issue which may cause this problem: CONFSERVER-29309 - WebDAV Configuration cannot be saved using Java 7. If this is your case, the solution does not apply.
Resolution
- Stop Confluence;
- Perform a backup of Confluence's database;
- Run the following query to identify the row that needs to be removed:
select * from bandana where bandanavalue like '%webdav%';
The query above will show an entry with some information like this:
BANDANAID: 1343493
BANDANACONTEXT: _GLOBAL
BANDANAKEY: com.atlassian.confluence.extra.webdav-2.0.settings
BANDANAVALUE: <string><com.atlassian.confluence.extra.webdav.WebdavSettings>
<excludedClientUserAgentRegexes class="linked-hash-set"/>
<contentExportsResourceEnabled>true</contentExportsResourceEnabled>
<contentVersionsResourceEnabled>true</contentVersionsResourceEnabled>
<contentUrlResourceEnabled>true</contentUrlResourceEnabled>
<strictPageResourcePathCheckingDisabled>false</strictPageResourcePathCheckingDisabled>
</com.atlassian.confluence.extra.webdav.WebdavSettings></string>
To identify the related entry in the table check the column BANDANAKEY that will mention the WebDAV's settings as the example above.
4. After identify the row, run a query informed below to remove the entry from the table:
delete from BANDANA where BANDANAID=<id_from_the_previous_query>;
5. Start Confluence and try to access again the WebDAV configuration's page.