Bug 86601 - Calendar entries from Exchange Server 2003 are not shown due to query format
Summary: Calendar entries from Exchange Server 2003 are not shown due to query format
Status: RESOLVED DUPLICATE of bug 87837
Alias: None
Product: korganizer
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Cornelius Schumacher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-04 22:54 UTC by David Bowen
Modified: 2004-09-26 14:14 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Bowen 2004-08-04 22:54:27 UTC
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:">
&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)
Comment 1 Reinhold Kainhofer 2004-09-26 14:14:18 UTC

*** This bug has been marked as a duplicate of 87837 ***