Cannot Access WebDAV Configuration's Page
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: - CONF-29309Getting issue details... STATUS . 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.