Sorry for taking so long to reply. I'm a bit confused as the XML response below contains <D:collection/> which, IIRC, is the indicator being checked for to indicate it is a folder. I can't see why that would turn into an ArrayList. Can you provide the stack trace for the ClassCastException?
If Alfresco is returning a Collection for this property then I'm guessing it will return Collections for all of them, which is also going to cause problems. I think I'm going to have to download Alfresco and try it. Ralph On Sep 19, 2011, at 7:21 AM, Julián Cerviño Iglesia wrote: > Hi, > > It's an ArrayList with 2 elements: > > [0] Type: DeferredElementNSImpl - Value: [D:collection: null] > [1] Type: DeferredTextImpl - Value: [#text: \n ] > > And the exception: "java.util.ArrayList cannot be cast to org.w3c.dom.Node" > > I'm taking a look at the http conversation with WireShark and found that > first response it's a 401 (but user/pass are ok and it seems we are using > the correct JSESSIONID)... > > PROPFIND /alfresco/webdav/test/1 HTTP/1.1 > Depth: 0 > User-Agent: Jakarta-Commons-VFS > Cache-control: no-cache > Cache-store: no-store > Pragma: no-cache > Expires: 0 > Host: hostname > Cookie: $Version=0; JSESSIONID=CE4C1C3825257DD4E320EAF32B6F08C6; > $Path=/alfresco > Content-Length: 112 > Content-Type: text/xml; charset=UTF-8 > > <?xml version="1.0" encoding="UTF-8"?><D:propfind > xmlns:D="DAV:"><D:prop><D:resourcetype/></D:prop></D:propfind>HTTP/1.1 401 > No Autorizado > Date: Mon, 19 Sep 2011 14:14:33 GMT > Server: Apache-Coyote/1.1 > WWW-Authenticate: BASIC realm="Alfresco DAV Server" > Via: 1.1 hostname > Content-Length: 0 > Content-Type: text/plain > > PROPFIND /alfresco/webdav/test/1 HTTP/1.1 > Depth: 0 > User-Agent: Jakarta-Commons-VFS > Cache-control: no-cache > Cache-store: no-store > Pragma: no-cache > Expires: 0 > Content-Length: 112 > Content-Type: text/xml; charset=UTF-8 > Authorization: Basic eGlhbjpqdWwwNzk= > Host: hostname > Cookie: $Version=0; JSESSIONID=CE4C1C3825257DD4E320EAF32B6F08C6; > $Path=/alfresco > > <?xml version="1.0" encoding="UTF-8"?><D:propfind > xmlns:D="DAV:"><D:prop><D:resourcetype/></D:prop></D:propfind>HTTP/1.1 207 > Multi-Estado > Date: Mon, 19 Sep 2011 14:14:33 GMT > Server: Apache-Coyote/1.1 > Content-Type: text/xml;charset=UTF-8 > Via: 1.1 hostname > Vary: Accept-Encoding > Transfer-Encoding: chunked > > 155 > <?xml version="1.0" encoding="UTF-8"?> > > <D:multistatus xmlns:D="DAV:"> > <D:response> > <D:href>/alfresco/webdav/test/1/</D:href> > <D:propstat> > <D:prop> > <D:resourcetype> > <D:collection/></D:resourcetype> > </D:prop> > <D:status>HTTP/1.1 200 OK</D:status> > </D:propstat> > </D:response> > </D:multistatus> > 0 > Thx > > -----Mensaje original----- > De: Ralph Goers [mailto:[email protected]] > Enviado el: lunes, 19 de septiembre de 2011 15:51 > Para: Commons Users List > Asunto: Re: [vfs] webdav problem > > An ArrayList containing what? > > Ralph > > On Sep 19, 2011, at 12:16 AM, Julián Cerviño Iglesia wrote: > >> Hi all, >> >> I'm trying to use VFS2 to access a webdav server an replicate a folder >> structure. >> >> The problem is that the file system manager cannot determine the type of a >> remote folder. I debugged the code and found that the root problem is a >> Class Cast Exception in this method (class WebdavFileObject.java), somehow >> property.getValue() is an ArrayList, and not a Node. >> >> private boolean isDirectory(URLFileName name) throws IOException >> { >> try >> { >> DavProperty property = getProperty(name, >> DavConstants.PROPERTY_RESOURCETYPE); >> Node node; >> >> --> if (property != null && (node = (Node) property.getValue()) != > null) >> { >> return >> node.getLocalName().equals(DavConstants.XML_COLLECTION); >> } >> else >> { >> return false; >> } >> } >> catch (FileNotFoundException fse) >> { >> throw new FileNotFolderException(name); >> } >> } >> >> Webdav Server its an Alfresco Repository, and other operations work fine >> (for example copy a file), so the connection seems ok. >> >> Thx in advance, >> Julian >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
