You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Konstantin Kolinko <kn...@gmail.com> on 2010/10/03 21:29:16 UTC

Re: svn commit: r964780 - in /tomcat/trunk: java/org/apache/catalina/servlets/WebdavServlet.java webapps/docs/changelog.xml

2010/7/16  <ma...@apache.org>:
> Author: markt
> Date: Fri Jul 16 11:59:57 2010
> New Revision: 964780
>
> URL: http://svn.apache.org/viewvc?rev=964780&view=rev
> Log:
> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49428
> Add a work-around for the known namespace issues for some Microsoft WebDAV clients. Patch provided by Panagiotis Astithas.
>
> Modified:
>    tomcat/trunk/java/org/apache/catalina/servlets/WebdavServlet.java
>    tomcat/trunk/webapps/docs/changelog.xml
>

1) Looking at lines 1159-1166 of WebdavServlet of TC7 @1004014:

                    generatedXML.writeElement
                        (null, "D:multistatus" +
generateNamespaceDeclarations(),
                         XMLWriter.OPENING);

                    while (lockPathsList.hasMoreElements()) {
                        generatedXML.writeElement(null, "response",
                                                  XMLWriter.OPENING);
                        generatedXML.writeElement(null, "href",
                                                  XMLWriter.OPENING);

Those "response", "href" have no D: prefix


2) Looking at o.a.catalina.util.XMLWriter.writeElement() methods there is
public void writeElement(String namespace, String namespaceInfo,
                             String name, int type)
which takes care both of the namespace prefix and of namespace URL.
I think that method must be used, instead of using '+
generateNamespaceDeclarations()' which is a trick.

Thus I expect the above fragment to be

                    generatedXML.writeElement
                        ("D", DEFAULT_NAMESPACE, "multistatus",
                         XMLWriter.OPENING);

                    while (lockPathsList.hasMoreElements()) {
                        generatedXML.writeElement("D", null, "response",
                                                  XMLWriter.OPENING);
                        generatedXML.writeElement("D", null, "href",
                                                  XMLWriter.OPENING);

and so on.

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org