none
WebDAV Query to Exchange 2003, can't see IMAP attributes RRS feed

  • Question

  • Hello,

    So I'm trying to query our Exchange 2003 server using WebDAV - we're replacing an app that used Outlook automation to export Worldwide Address Book. It now needs to be run on a server without Outlook. So I'm running the following WebDAV query:

    <?xml version=""1.0""?>
        <g:searchrequest xmlns:g=""DAV:"">
            <g:sql>
                SELECT * 
                FROM 
                    Scope('shallow  TRAVERSAL OF ""http://ny-mail-02.emwp.com/public/Worldwide%20Address%20Book/""')
                WHERE
                    ""urn:schemas:contacts:givenName"" LIKE 'Brad%'
            </g:sql>
        </g:searchrequest>
    

    It finds the contact, but doesn't pull in things like "E-Mail Display As". I've tried selecting the field "Email1DisplayName" explicitly in the select clause to no avail. Also have found a spreadsheet listing the Contact Schema - Email Display As lists http://schemas.microsoft.com/mapi/id/{00062004-0000-0000-C000-000000000046}/8080001f (as opposed to something like urn:schemas:contacts:customerid) but if I try selecting that I get a bad request (which sounds like it doesn't like that in the SQL query). I'm fairly new to WebDAV to Exchange, can anyone shed some light on why this field (and others) are missing when I select *?

    Many Thanks,
    Brad

    P.S. below is how I'm making the call if that helps:

     HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;
                request.Credentials = credentials;
                request.Method = "SEARCH";
                request.ContentLength = contents.Length;
                request.ContentType = "text/xml";
                
                using (Stream requestStream = request.GetRequestStream())
                    requestStream.Write(contents, 0, contents.Length);
    
                using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
                using (Stream responseStream = response.GetResponseStream())
               {
                    XmlDocument document = new XmlDocument();
                    document.Load(responseStream);
    .
    .
    .
    .
    .
    

     

     

    Tuesday, October 4, 2011 2:09 PM

Answers

  • Hi Bfrank1972nyc

     

    This forum is for software developers who are using the Open Specifications documentation to assist them in developing systems, services, and applications that are interoperable with certain Microsoft products.  The Open Specifications can be found at: http://msdn2.microsoft.com/en-us/library/cc203350.aspx.

     

    Since your question seems to not involve the Open Specifications, I would suggest posting this question in the Exchange Development forum at http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment


    Bryan S. Burgin Senior Escalation Engineer Microsoft Protocol Open Specifications Team
    • Marked as answer by Bfrank1972nyc Tuesday, October 4, 2011 4:33 PM
    Tuesday, October 4, 2011 3:45 PM
    Moderator
  • Hi Bfrank1972nyc,

     

    This KB reference may help answer your question, http://support.microsoft.com/?kbid=296126

     

    For your reference, email1originaldisplayname maps to property tag PidLidEmail1OriginalDisplayName and this property name, among others, should be documented in [MS-OXPROPS].  However, we’ve discovered PidLidEmail1OriginalDisplayName and several other property names are missing from MS-OXPROPS.  This is a bug in the documentation that will be fixed in a future release of the document.

     

    Thanks,
    Mark Miller_DSC
    Escalation Engineer
    Microsoft Protocols Team

    Wednesday, October 5, 2011 4:51 PM

All replies

  • Hi Bfrank1972nyc

     

    This forum is for software developers who are using the Open Specifications documentation to assist them in developing systems, services, and applications that are interoperable with certain Microsoft products.  The Open Specifications can be found at: http://msdn2.microsoft.com/en-us/library/cc203350.aspx.

     

    Since your question seems to not involve the Open Specifications, I would suggest posting this question in the Exchange Development forum at http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment


    Bryan S. Burgin Senior Escalation Engineer Microsoft Protocol Open Specifications Team
    • Marked as answer by Bfrank1972nyc Tuesday, October 4, 2011 4:33 PM
    Tuesday, October 4, 2011 3:45 PM
    Moderator
  • Apologies, I'll take it to the other forum. Thanks!
    Tuesday, October 4, 2011 4:33 PM
  • Bfrank1972nyc,

     

    After further discussion, an engineer from the Protocols team is reviewing this and will reply soon.


    Bryan S. Burgin Senior Escalation Engineer Microsoft Protocol Open Specifications Team
    Tuesday, October 4, 2011 10:27 PM
    Moderator
  • Thank you Brian, I look forward to any insight you can provide.


    Regards,

    Brad

    Wednesday, October 5, 2011 2:19 PM
  • Hi Bfrank1972nyc,

     

    This KB reference may help answer your question, http://support.microsoft.com/?kbid=296126

     

    For your reference, email1originaldisplayname maps to property tag PidLidEmail1OriginalDisplayName and this property name, among others, should be documented in [MS-OXPROPS].  However, we’ve discovered PidLidEmail1OriginalDisplayName and several other property names are missing from MS-OXPROPS.  This is a bug in the documentation that will be fixed in a future release of the document.

     

    Thanks,
    Mark Miller_DSC
    Escalation Engineer
    Microsoft Protocols Team

    Wednesday, October 5, 2011 4:51 PM
  • That is an extremely helpful document - with your help and another poster (and a little time) I finally am seeing what I need. Thank you very much for your help!

    Thursday, October 6, 2011 8:15 PM