[
https://issues.apache.org/jira/browse/JCR-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12595576#action_12595576
]
Julian Reschke commented on JCR-1571:
-------------------------------------
(talked to Angela on the phone, summarizing)
- for a non-success code, it's ok for the server to return text/html
- in Angela's case (see trace), this did not cause problems as the response
body appears to be wellformed XML anyway (although HTML)
- the code that handles responses and tries to extract error details should
handle this case as non-fatal; there's simply no information in addition to the
HTTP status code available
> JCR Webdav Server doesn't support node.hasNode() method
> -------------------------------------------------------
>
> Key: JCR-1571
> URL: https://issues.apache.org/jira/browse/JCR-1571
> Project: Jackrabbit
> Issue Type: Bug
> Components: sandbox
> Affects Versions: core 1.4.2
> Environment: JDK 1.6; Tomcat 6; Windows 2003
> Reporter: Julio Castillo
> Assignee: angela
> Attachments: HasNodeTest.java, trace_JCR-1571.txt
>
>
> I have a set up that uses the JCR Webdav Server from a custom remote client.
> I've noticed one thing, anytime I request a node that doesn't exist the error
> that comes back from the server is as follows:
> [Fatal Error] :1:941: The element type "HR" must be terminated by the
> matching end-tag "</HR>".
> javax.jcr.RepositoryException: The element type "HR" must be terminated by
> the matching end-tag "</HR>".: The element type "HR" must be terminated by
> the matching end-tag "</HR>".
> Doesn't really make sense, but that is OK, I can handle that.
> My problem:
> I have a partially populated repository that at the root has a few nodes like
> /edu/....
> /com/ibm/..
> So, I want to create a few nodes of type nt:folder under
> com/myCompany/folder1
> I have no problem creating them, but since "com" already exists I end up with
> com[2]/myCompany/folder1.
> So, I went ahead and used the parentNode.hasNode("folderName") method.
> This method returns true for the "com" portion, but when I test for the
> "myCompany" folder which should return false I get the error response shown
> above from the server.
> The webdav request looks as follows:
> PROPFIND /jackrabbit/server/default/jcr%3aroot/com/myCompany
> The snippet of code looks as follows:
> private Node createFolders (Session session, Node parentNode, List <String>
> folders)
> throws RepositoryException {
> Node folderNode = null;
> for (String folder : folders) {
> if (parentNode.hasNode(folder))
> folderNode = parentNode.getNode(folder);
> else
> folderNode = parentNode.addNode(folder, "nt:folder");
> parentNode = folderNode;
> }
> session.save();
> return (folderNode);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.