Version: Version 3.3 beta2 (using KDE KDE 3.2.92) Installed from: Compiled From Sources OS: Linux 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:"> <body><h2>HTTP/1.1 400 Bad Request</h2></body></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)
*** This bug has been marked as a duplicate of 87837 ***