[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 87837] Server response could not be interpreted when trying to
From:       Reinhold Kainhofer <reinhold () kainhofer ! com>
Date:       2004-09-26 12:14:00
Message-ID: 20040926121400.9181.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
        
http://bugs.kde.org/show_bug.cgi?id=87837        




------- Additional Comments From reinhold kainhofer com  2004-09-26 14:13 -------
From Bug 86601:
I've found a problem when trying to get "korganizer" to read Calendar information from
Exchange Server 2003.  I know a fair amount about Exchange Server, but I'm new to Linux so
please be aware that I might be missing something obvious. Note that lots of other things
work well.

I'm working on a version of the code that was created recently using the "konstruct"
program.  The folder name is kdepim-3.2.92.

When I try to read the Calendar I get a an error reported back (via WebDAV) which
indicates that the request is bad.  This is an example query:

korganizer: SELECT "DAV:href", "urn:schemas:calendar:instancetype",
"urn:schemas:calendar:uid"
FROM Scope('shallow traversal of ""')
WHERE "urn:schemas:calendar:dtend" > '2004-09-01T00:00:00Z'
AND "urn:schemas:calendar:dtstart" < '2004-10-01T23:59:59Z'

And the response is:

<HTML>
 <HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
 </HEAD>
</HTML>
<error-report xmlns="DAV:">
&lt;body>&lt;h2>HTTP/1.1 400 Bad
Request&lt;/h2>&lt;/body>&lt;/HTML></offending-response>>
</error-report>



I'm not a C++, Linux or KDE programmer I'm afraid. I eventually found the source and
edited it, but it then took me quite a while to figure out where the output of the make
was going and what I should do with it. I settled on doing this:

cd .../konstruct/kde/kdepim/work/kdepim-3.2.92/libkpimexchange
make
cp --reply=y .libs/libkpimexchange.* /root/kde3.3-beta2/lib/  

which seems to work as I can see my updated debug when running korganizer from the
konsole.

Enough about me and my problems. I think the solution is to change the query string in the
WHERE clause.

I've been editing
...konstruct/kde/kdepim/work/kdepim-3.2.92/libkpimexchange/core/exchangedownload.cpp

Old line 169:

  QString sql = 
        "SELECT \"DAV:href\", \"urn:schemas:calendar:instancetype\", "
        "\"urn:schemas:calendar:uid\"\r\n"
        "FROM Scope('shallow traversal of \"\"')\r\n"
        "WHERE \"urn:schemas:calendar:dtend\" > '" + startString + "'\r\n"
        "AND \"urn:schemas:calendar:dtstart\" < '" + endString + "'";

New line 169:

  QString sql = 
        "SELECT \"DAV:href\", \"urn:schemas:calendar:instancetype\", "
        "\"urn:schemas:calendar:uid\"\r\n"
        "FROM Scope('shallow traversal of \"\"')\r\n"
        "WHERE \"urn:schemas:calendar:dtend\" > CAST(\"" + startString + "\" as
'dateTime')\r\n"
        "AND \"urn:schemas:calendar:dtstart\" < CAST(\"" + endString + "\" as
'dateTime')";

Note that I had to change from a single-quote to a double-quote as well as adding the
CAST. It still failed if I tried one change without the other. I tried to make you a .diff
file, but I couldn't even get that right.

I no longer have an Exchange 2000 Server to test against so I'm afraid I can't help check
it works there.

Please let me know if you need more information, or if I should direct this information
elsewhere.

Many Thanks (for your time today, and for creating all the code in the first place)
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic