Welcome to MSDN Blogs Sign in | Join | Help

Le Café Central de DeVa

DeVa's Developer Messaging blog!!

News

  • <font color="WHITE">Le Café Central de DeVa</font> DeVa rocks!!

    My XBOX Live

    XBox Live

    Disclaimer:
    This weblog/blog is solely my opinion.The information in this weblog/blog is provided "AS IS" with no warranties, and confers no rights. This weblog/blog does not represent the thoughts, intentions, plans or strategies of my employer. Inappropriate comments will be deleted at the authors discretion.

    Use of included script samples are subject to the terms specified in the Terms of Use
    .

    Privacy Statement:
    I do not collect personal data associated with comments posted to this site.


    Translate into your language

    Site Statistics
    Locations of visitors to this page






    Make a difference


    Subscription offer


    Developer resources



    Students free software

    Try & Test Drive Online

    More about Windows 7
    Download
    Virtual Roundtable with Mark Add to Calendar

    Experiences

    Go Green!!



EWS Programming # 1 : Creating my first Exchange Web Services client application in C#.Net

Please find my first web service client that i tried couple of months earlier that creates an e-mail item in the Sent Items folder. You can use Microsoft Visual Studio 2005 to create a simple Exchange Web Services client application like this.

   1:  using System;
   2:  using System.Net;
   3:  using System.Security.Cryptography.X509Certificates;
   4:  using System.Net.Security;
   5:   
   6:  // The ExchangeWebServices namespace was created by using Visual Studio // 2005 and the Add Web Reference wizard.
   7:  using ExchangeWebServices;
   8:   
   9:  namespace Devas_First_WebService
  10:  {
  11:      partial class Program
  12:      {
  13:          static void Main(string[] args)
  14:          {
  15:              ServicePointManager.ServerCertificateValidationCallback =
  16:              delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
  17:              {
  18:                  // Replace this line with code to validate server 
  19:  // certificate.
  20:                  return true;
  21:              };
  22:   
  23:              // Identify the service binding and the user.
  24:              ExchangeServiceBinding esb = new ExchangeServiceBinding();
  25:          // Provide the Network credentials - username, password, domain
  26:              esb.Credentials = new NetworkCredential("<username>", "<password>", "<domain>");
  27:          // Provide the Exchange Web Service (URL)
  28:              esb.Url = @"https://<FQDN>/EWS/Exchange.asmx";
  29:   
  30:              // Create the CreateItem request.
  31:              CreateItemType createEmailRequest = new CreateItemType();
  32:   
  33:              // Specifiy how the e-mail will be handled.
  34:              createEmailRequest.MessageDisposition = MessageDispositionType.SaveOnly;
  35:              createEmailRequest.MessageDispositionSpecified = true;
  36:   
  37:              // Specify the location of sent items. 
  38:              createEmailRequest.SavedItemFolderId = new TargetFolderIdType();
  39:              DistinguishedFolderIdType sentitems = new DistinguishedFolderIdType();
  40:              sentitems.Id = DistinguishedFolderIdNameType.sentitems;
  41:              createEmailRequest.SavedItemFolderId.Item = sentitems;
  42:   
  43:              // Create the array of items.
  44:              createEmailRequest.Items = new NonEmptyArrayOfAllItemsType();
  45:   
  46:              // Create a single e-mail message.
  47:              MessageType message = new MessageType();
  48:              message.Subject = "Daily Report";
  49:              message.Body = new BodyType();
  50:              message.Body.BodyType1 = BodyTypeType.Text;
  51:              message.Body.Value = "(1) Handled customer issues, (2) Saved the world.";
  52:              message.Sender = new SingleRecipientType();
  53:              message.Sender.Item = new EmailAddressType();
  54:              message.Sender.Item.EmailAddress = "user1@example.com";
  55:              message.ToRecipients = new EmailAddressType[1];
  56:              message.ToRecipients[0] = new EmailAddressType();
  57:              message.ToRecipients[0].EmailAddress = "user2@example.com";
  58:              message.Sensitivity = SensitivityChoicesType.Normal;
  59:   
  60:              // Add the message to the array of items to be created.
  61:              createEmailRequest.Items.Items = new ItemType[1];
  62:              createEmailRequest.Items.Items[0] = message;
  63:   
  64:              try
  65:              {
  66:                  // Send a CreateItem request and get the CreateItem 
  67:  // response.
  68:                  CreateItemResponseType createItemResponse = esb.CreateItem(createEmailRequest);
  69:                  ArrayOfResponseMessagesType responses = createItemResponse.ResponseMessages;
  70:                  ResponseMessageType[] responseMessages = responses.Items;
  71:   
  72:                  // Access the response messages.
  73:                  foreach (ResponseMessageType respMsg in responseMessages)
  74:                  {
  75:                      if (respMsg.ResponseClass == ResponseClassType.Error)
  76:                      {
  77:                          throw new Exception("Error: " + respMsg.MessageText);
  78:                      }
  79:                      else if (respMsg.ResponseClass == ResponseClassType.Warning)
  80:                      {
  81:                          throw new Exception("Warning: " + respMsg.MessageText);
  82:                      }
  83:   
  84:                      // Check to determine whether the response message is the correct type.
  85:                      if (respMsg is ItemInfoResponseMessageType)
  86:                      {
  87:                          ItemInfoResponseMessageType createItemResp = (respMsg as ItemInfoResponseMessageType);
  88:                          ArrayOfRealItemsType aorit = createItemResp.Items;
  89:   
  90:                          foreach (ItemType item in aorit.Items)
  91:                          {
  92:                              if (item is MessageType)
  93:                              {
  94:                                  MessageType myMessage = (item as MessageType);
  95:                                  Console.WriteLine("Created item: " + myMessage.ItemId.Id);
  96:                                  Console.ReadLine();
  97:                              }
  98:                              // If needed add the logic to check and cast for all other types.
  99:                          }
 100:                      }
 101:                  }
 102:              }
 103:              catch (Exception ex)
 104:              {
 105:                  Console.WriteLine(ex.Message);
 106:                  Console.ReadLine();
 107:              }
 108:          }
 109:      }
 110:  }
 
Reference: Creating an Exchange Web Services Client Application
Posted: Saturday, October 04, 2008 5:26 AM by Deva Gnanam .J

Comments

No Comments

New Comments to this post are disabled
Page view tracker