Search Results

Search found 7 results on 1 pages for 'exchangews'.

Page 1/1 | 1 

  • Folder.Bind - "Id is malformed" - Exchange Web Services Managed API

    - by Michael Shimmins
    I'm passing the Folder.Id.UniqueId property of a folder retrieved from a FindFolders query via the query string to another page. On this second page I want to use that UniqueId to bind to the folder to list its mail items: string parentFolderId = Request.QueryString["id"]; ... Folder parentFolder = Folder.Bind(exchangeService, parentFolderId); // do something with parent folder When I run this code it throws an exception telling me the Id is manlformed. I thought maybe it needs to be wrapped in a FolderId object: Folder parentFolder = Folder.Bind(exchangeService, new FolderId(parentFolderId)); Same issue. I've been searching for a while, and have found some suggestions about Base64/UTF8 conversion, but again that did not solve the problem. Anyone know how to bind to a folder with a given unique id?

    Read the article

  • Adding delegate with calendar access using Exchange Web Services?

    - by BryanG
    I have a set up where I need to add a delegate to various user calendars programmatically. Using a sample from MDSN, I've gotten as far as trying to add the delegate, but after the call to the service binding, I get nothing back...no success or fail....nothing. How I create the service binidng: // Initialize the service binding serviceBinding = new ExchangeServiceBinding(); serviceBinding.Credentials = new NetworkCredential(Properties.Settings.Default.UserName, Properties.Settings.Default.Password, Properties.Settings.Default.Domain); // A production application should call the autodiscover service to locate the service binding url serviceBinding.Url = Properties.Settings.Default.EWSUrlEndPoint; serviceBinding.RequestServerVersionValue = new RequestServerVersion(); serviceBinding.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1; serviceBinding.AllowAutoRedirect = true; and the delegate addition: static void AddDelegate(string email) { // Create the request. AddDelegateType request = new AddDelegateType(); // Identify the agent's mailbox. request.Mailbox = new EmailAddressType(); request.Mailbox.EmailAddress = email; // add the exch_integration user as a delegate request.DelegateUsers = new DelegateUserType[1]; request.DelegateUsers[0] = new DelegateUserType(); request.DelegateUsers[0].UserId = new UserIdType(); request.DelegateUsers[0].UserId.PrimarySmtpAddress = "[email protected]"; // Specify the permissions that are granted to exch_integration request.DelegateUsers[0].DelegatePermissions = new DelegatePermissionsType(); request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevelType.Author; request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevelSpecified = true; // Specify whether the agent recieves meeting requests. request.DeliverMeetingRequests = DeliverMeetingRequestsType.DelegatesAndSendInformationToMe; request.DeliverMeetingRequestsSpecified = true; try { // Send the request and get the response. AddDelegateResponseMessageType response = serviceBinding.AddDelegate(request); DelegateUserResponseMessageType[] responseMessages = response.ResponseMessages; // One DelegateUserResponseMessageType exists for each attempt to add a delegate user to an account. foreach (DelegateUserResponseMessageType user in responseMessages) { Console.WriteLine("Results of adding user: " + user.ResponseClass.ToString()); Console.WriteLine(user.DelegateUser.UserId.DisplayName); Console.WriteLine(user.DelegateUser.UserId.PrimarySmtpAddress); Console.WriteLine(user.DelegateUser.UserId.SID); } Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } } The response nothing which must mean that the AddDelegate call isn't hitting the server properly, but I'm not sure. Thanks.

    Read the article

  • Exchange Web Services and Property Sets

    - by Sam
    I need to retrieve calendar information by invoking the Exchange Web Service in BPOS. I'm using a CalendarView with a PropertySet to retrieve as little data as possible. However, property sets seems to be limited. I need the EmailAddress of the one who made the calendar appointment so I thought I could use the AppointmentSchema.Organizer in the PropertySet. When fetching a whole Appointment I can get the e-mail through appt.Organizer.EmailAddress. But with the code below the Organizer.EmailAddress is always null. I've enabled the trace and checked it and only the Organizer.Name property is sent, nothing else. Does anyone have a solution on how to get the EmailAddress when using a PropertySet? CalendarView view = new CalendarView(dtFrom, dtTo); view.PropertySet = new PropertySet(ItemSchema.Subject); view.PropertySet.Add(ItemSchema.Id); view.PropertySet.Add(AppointmentSchema.Start); view.PropertySet.Add(AppointmentSchema.End); view.PropertySet.Add(AppointmentSchema.Organizer); // This should contain EmailAddress but it doesn't Mailbox mailbox = new Mailbox("[email protected]"); FolderId id = new FolderId(WellKnownFolderName.Calendar, mailbox); CalendarFolder folder = CalendarFolder.Bind(service, id); FindItemsResults findResults = folder.FindAppointments(view);

    Read the article

  • How can I detect if this dictionary key exists in C#?

    - by Adam Tuttle
    I am working with the Exchange Web Services Managed API, with contact data. I have the following code, which is functional, but not ideal: foreach (Contact c in contactList) { string openItemUrl = "https://" + service.Url.Host + "/owa/" + c.WebClientReadFormQueryString; row = table.NewRow(); row["FileAs"] = c.FileAs; row["GivenName"] = c.GivenName; row["Surname"] = c.Surname; row["CompanyName"] = c.CompanyName; row["Link"] = openItemUrl; //home address try { row["HomeStreet"] = c.PhysicalAddresses[PhysicalAddressKey.Home].Street.ToString(); } catch (Exception e) { } try { row["HomeCity"] = c.PhysicalAddresses[PhysicalAddressKey.Home].City.ToString(); } catch (Exception e) { } try { row["HomeState"] = c.PhysicalAddresses[PhysicalAddressKey.Home].State.ToString(); } catch (Exception e) { } try { row["HomeZip"] = c.PhysicalAddresses[PhysicalAddressKey.Home].PostalCode.ToString(); } catch (Exception e) { } try { row["HomeCountry"] = c.PhysicalAddresses[PhysicalAddressKey.Home].CountryOrRegion.ToString(); } catch (Exception e) { } //and so on for all kinds of other contact-related fields... } As I said, this code works. Now I want to make it suck a little less, if possible. I can't find any methods that allow me to check for the existence of the key in the dictionary before attempting to access it, and if I try to read it (with .ToString()) and it doesn't exist then an exception is thrown: 500 The given key was not present in the dictionary. How can I refactor this code to suck less (while still being functional)?

    Read the article

  • How to programmatically add mailbox alias on an Exchange 2007 server from C# web app?

    - by petstran
    As the subject says, I have a C# web application (.NET 3.5) that's communicating with an Exchange 2007 server. What I need help with is to programmatically (preferably from the web app itself) add a new mailbox alias to a certain mailbox and then before sending out the mail set the new alias as the reply-to address. I'm fairly new to scripting, but from what I've read so far, most people seem to be suggesting the Exchange Powershell to accomplish this. Any hints towards a third-part API that would solve this would be appreciated. I've looked at the EWS API but from what I've seen so far it doesn't look like that's what I'm looking for.

    Read the article

  • Manipulating Exchange 2003 shared contacts folder remotely

    - by andybak
    I've got a CRM web app running on a remote server that needs to synchronise it's contacts with the in-house Exchange 2003 shared contacts. I know very little about Exchange - we are pricing a job for a new client so I'm really just getting a sense of the scope at this stage. Exchange 2003 doesn't seem to support web-services. What would the typical approach to this problem be? My initial instinct would be to open port 80 in the Exchange server, run a simple webserver and POST to it and then talk to exchange via OLE automation scripting (if that's what people are still calling it!) Any other suggestions?

    Read the article

1