Ah, another example of a server that is returning the wrong status
code.
As you have noticed Catacomb returns a 200 in response to the REPORT
request. This is wrong, as it really should return a 207. Because the
library does a check for the right code you get no response elements.
The library already contains a workaround for a similar problem:
Xythos returns (returned?) a 200 in response to a PROPFIND. Seems like
I have to extend this to REPORT as well.
Ingo
> Hi,
>
> I'have the same problem with Catacomb when I try to get the result of
> the REPORT method. I'm using jakarta-slide-webdavlib-2.0rc1.jar.
>
>
> ReportMethod method = new ReportMethod(httpUrl.getEscapedPath(),
> depth, properties.elements());
> resource.getSessionInstance(httpUrl).executeMethod(method);
>
>
> I have sniffed the TCP traffic with netTool :
> --> request :
>
> REPORT /repos/file.xml HTTP/1.1
> Content-Type: text/xml; charset=utf-8
> User-Agent: Jakarta Commons-HttpClient/2.0final
> Host: localhost:7000
> Content-Length: 121
> Depth: 1
>
> <?xml version="1.0" encoding="utf-8" ?>
> <D:version-tree xmlns:D="DAV:">
> <D:prop>
> <D:version-name/>
> </D:prop>
> </D:version-tree>
>
>
> --> Response :
> ------ start dump -----
> HTTP/1.1 200 OK
> Date: Wed, 07 Apr 2004 13:21:04 GMT
> Server: Apache/2.0.46 (Unix) mod_ssl/2.0.46 OpenSSL/0.9.6b DAV/2
> Catacomb/0.9.0
> Transfer-Encoding: chunked
> Content-Type: text/xml; charset="utf-8"
>
> 146
> <?xml version="1.0" encoding="utf-8"?>
> <D:multistatus xmlns:D="DAV:">
> <D:response>
> <D:href>/repos/file.xml/!/2/!/file.xml</D:href>
> <D:propstat><D:prop>
> <D:version-name>V2</D:version-name>
> </D:prop>
> <D:status>HTTP/1.1 200 OK</D:status>
> </D:propstat>
> </D:response>
>
> [...]
> 11
> </D:multistatus>
>
> 0
> ----- end dump -----
>
> According to the http traffic, the response is ok, but the ReportMethod
> dosen't seem to think like me :-\
>
> method.getStatusCode() : 200
> method.getResponseHeaders() : same data as above.
> method.getResponses() : empty
> method.getResponseBodyAsString() : null
>
>
> is there something I have missed ?
> Thanks in advance.
>
> Best regards,
> Gildas
>
>
>
> Truong Nguyen Ngoc wrote:
>
> > Hi,
> >
> > In 2003, we develop application use webdavlib in Slide 1.0.16 client to
> > access Calendar of MS Exchange server 2000 SP2 by http protocol. It works
> > ok.
> >
> > Now we change to use HTTPS protocol but Slide 1.0.16 not support and can not
> > login to Exchange through Https. So I change to use Slide 2.0 beta webdavlib
> > client but have exception
> >
> > org.apache.util.HttpsURL url = new
> > org.apache.util.HttpsURL(protocol+"://"+host+":"+port);
> > url.setUserInfo(user,password);
> > url.setPath(expath+"/"+user);
> > WebdavResource rc = new WebdavResource(url);
> > String path = "/"+expath+"/"+(String)principal.get("user")+"/calendar/";
> > SearchMethod src = new SearchMethod(path,
> > Query.searchCalRequest(from,to,path));
> > rc.executeHttpRequestMethod(rc.retrieveSessionInstance(), src);
> > Enumeration e = src.getResponses();
> >
> > Here is exception:
> >
> > [Fatal Error] :1:979: Element or attribute do not match QName production:
> > QName:
> > :=(NCName':')?NCName.
> > java.lang.NullPointerException
> > at
> > org.apache.webdav.lib.methods.XMLResponseMethodBase.initResponseHasht
> > able(XMLResponseMethodBase.java:350)
> > at
> > org.apache.webdav.lib.methods.XMLResponseMethodBase.getResponseHashta
> > ble(XMLResponseMethodBase.java:336)
> > at
> > org.apache.webdav.lib.methods.XMLResponseMethodBase.getResponses(XMLR
> > esponseMethodBase.java:173)
> >
> > What something wrong in our code? please help me. With them same code work
> > ok with http protocol and Slide 1.0.16
> >
> > I do more thing debug result as follow:
> >
> > debug("rc.getStatusMessage() " + rc.getStatusMessage()); -> OK 200
> > debug("rc.getStatusCode() "+rc.getStatusCode()); ->200
> > debug("src.getResponseBodyAsString()"+ src.getResponseBodyAsString()); ->
> > null
> > debug(new String(src.getResponseBody())); -> null
> > debug(src.getResponseHeaders()); -> have data
> > debug(src.getResponseBodyAsStream()); -> null
> > debug(src.getResponseDocument()); -> null
> >
> >
> > Thank,
> >
> > Victor
>
>
> ---------------------------------------------------------------------
> 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]