![]() |
| ||
| Retrieve Contacts from Exchange Public Folder Hi, I've a problem. I need to retrieve all contacts stored in a public folder in the ms exchange 2003 server in VB.NET or C#. Anyone can tell me a way to do it or some example ? Thank you. |
| ||
| Re: Retrieve Contacts from Exchange Public Folder I just struggled for 2 days to solve this same problem for my company--except I'm using PHP. Your job should be a bit easier since all the official examples are in VBScript, VB, VB.NET, C#, or C++. I would direct you to the Microsoft WebDAV Reference wth code examples. Click "Exchange Store WebDAV Protocol", then explore the Methods from there. http://msdn.microsoft.com/library/de...ces_webdav.asp In dealing with Contacts, you'll also find this reference helpful--it lists all the Exchange "person" properties and their schema type. http://msdn.microsoft.com/library/de...ses_person.asp I have documented my PHP solution. It's brand new and works, but no doubt I'll be improving and expanding it as time goes by. Notice my last code example is "Search for contacts that match a certain criteria". This example is close to what you want to do. Although my code is PHP, the actual WebDAV XML query is the same as you need--and that's the trickiest part of WebDAV. http://www.troywolf.com/articles/php...v_examples.php |
| ||
| Re: Retrieve Contacts from Exchange Public Folder 'Article from MSDN 'http://msdn.microsoft.com/en-us/library/aa168022(office.11).aspx ' Create Outlook application. Dim oApp As Outlook.Application = New Outlook.Application ' Get namespace and Contacts folder reference. Dim oNS As Outlook.NameSpace = oApp.GetNamespace("MAPI") 'Set MAPI folder to a location Dim cContacts As Outlook.MAPIFolder = oNS.Folders("Public Folders").Folders("All Public Folders").Folders("Contacts") ' Dim collection Dim oItems As Outlook.Items = cContacts.Items Console.Write(oItems.Count) Dim i As Int16 = 0 For Each item In oItems Try Dim oCt As Outlook.ContactItem oCt = item Console.WriteLine(i.ToString + " - " + oCt.FullName) i = i + 1 'Need to release Oct because it craps out at 247 records with the following error 'Your server administrator has limited the number of items you can open simultaneously. 'Try closing messages you have opened or removing attachments and images from unsent 'messages you are composing System.Runtime.InteropServices.Marshal.ReleaseComObject(oCt) Catch ex As ExecutionEngineException MsgBox(ex.Message) End Try Next End Sub |
| All times are GMT -4. The time now is 7:43 am. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC