It is amazing that change is described by such luminaries as Barack Obama as the greatest threat facing humanity, when the threat of attack by EMP (electromagnetic pulse) is much more imminent, and the effects immediate and devastating vs. Climate change, which, if it occurs, will be gradual, allowing time for preparation and mitigation of any effects. Thank you for Anthony Furey excellent column, too bad it was buried on Page 22..
pandora bracelets Analyse your competitor’s strengths and weaknesses.pandora essence Offer more value by differentiating your specific treatments and results. One of the biggest niche strategy advantages is the ability to quickly become a dominant player your specific area of expertise. pandora bracelets
pandora jewelry Techniques show are for adding the chain only; it doesn’t cover creating the entire bracelet. This tutorial assumes you have the Swarovski Crystal Bracelet tutorial, or know how to make this style. The tutorial for the Swarovski Crystal Bracelet tutorial can be found in my shop My Wired Imagination.. pandora jewelry
pandora bracelets Not every provider gives you enough to watch American television online without interruption. Those that do generally mention it on their site and these are the ones to look for. The http://www.pandora-charm-uk.com/average cost for such as service is about $10 per month.. But it is worth noting that one of the monster trucks is a prototype, and very hard to get hold of. The remaining 3 are the Exceed RC Barca (buggy), Exceed RC Wild Bull (short course) Exceed RC Hannibal (monster truck). The Barca is my favourite of the models covered in the exceed RC reviews. pandora bracelets
pandora earrings With so many options on laser marking systems available today it is not surprising that many people get confused with which is the most suitable to their application. Many people don’t even know that the term “laser”, is actually an acronym Light amplification by stimulated emission of radiation which explains the process by which a laser beam is created. The basic theory of this is simple. pandora earrings
pandora jewellery You are talking now about one of the most gifted players that I ever saw in my life. He played the three greatest innings that I ever saw. One in Sydney here, 187; one in Johannesburg, 189; and of course the 232 at Trent Bridge. Just as everyone participates in cost reduction, so must everyone be engaged in the growth agenda of the business. Every contact of every employee with a customer is an opportunity for revenue growth: The people answering the phones in the call center can provide valuable information on unmet customer needs. The appliance repair person can discover patterns and timing of demand for replacement of appliances pandora jewellery.
This is a Part 2 in EWS Managed API Series. Please read previous post in this series before going through this.
In order to connect through EWS Managed API we require an account on Exchange which can authenticate our requests on Exchange. This account is known as “service account”. Since this service will need to read exchange resources information and need to perform operations on their behalf thus it is recommended that service account has an Impersonation Role.
What is Impersonation Role?
As per Microsoft’s explanation, Exchange Impersonation enables a caller to impersonate a given account so that a caller can perform operations by using the permissions that are associated with the impersonated account instead of the permissions that are associated with the caller’s account. Microsoft Exchange Server 2007 provides two Active Directory service extended permissions that are used to determine which callers can perform Exchange Impersonation calls and which accounts can be impersonated by the caller. You can check MSDN to get commands to enable impersonation for service account.
What is Autodiscover service?
The Exchange Autodiscover service provides an easy way for your client application to configure itself with minimal user input. Most users know their email address and password, and with those two pieces of information, you can retrieve all the other details you need to get up and running. For Exchange Web Services (EWS) clients, Autodiscover is typically used to find the EWS endpoint URL, but Autodiscover can also provide information to configure clients that use other protocols. Autodiscover works for client applications that are inside or outside firewalls and will work in resource forest and multiple forest scenarios. More details can be found on MSDN.
How do we use EWS?
All that said let’s take a look at some sample code that will show us how to connect to Exchange using EWS Managed API. For this series we will use Office 365 as our exchange.
var service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
var credentials = new NetworkCredential("service account username", "service account password");
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "firstname.lastname@example.org");
service.Credentials = credentials;
In above sample code, we have created Exchange service object by providing version as Exchange2013. We have provided Exchange service URL for office 365 (https://outlook.office365.com/EWS/Exchange.asmx). Lastly, we have provided service account details in credential object and the email address of the account which we want to impersonate.
In next post we will discuss about how to synchronize calendar items using EWS Managed APIs.
Today is the world of APIs and everyone is giving out APIs for their products. You can perform CRUD operations using these API. In this world of APIs, Microsoft Exchange has also provided its APIs to perform various CRUD operations on Exchange, like create meeting, update meeting, synchronize calendar, get resource information, etc. These Exchange APIs are known as EWS (Exchange Web Service) Managed API.
I have started this series to give a basic understanding about EWS Managed API. So let’s start.
Overview of EWS Managed API
- Microsoft provides EWS managed API DLL which you can refer directly in your project and start using EWS managed APIs.
- EWS Managed APIs make EWS (Exchange Web Service) call under the hood, thus no additional component is required to use EWS Managed API.
- EWS Managed APIs are backward compatible. It has backward support till Exchange 2007 SP1.
- EWS Managed APIs are cloud compatible. You can even connect to your office 365 account using EWS Managed APIs.
How to start with Managed API
- The EWS Managed API works with all versions of Exchange starting with Exchange 2007 SP1.
- A mailbox on an Exchange server that is running a version of Exchange starting with Exchange 2007 SP1, or Office 365 or Exchange Online.
- A version of the .NET Framework starting with the .NET Framework 3.5.
- Familiarity with web services and managed programming.
What you can do with Managed APIs
- Use the Autodiscover service to return the EWS endpoint for an email account, and get user and domain settings for the account.
- Manage the folders that contain your email messages, appointments, and tasks.
- Search for folders, email messages, appointments, and tasks.
- Create, send, forward, and reply to email messages.
- Manage calendar appointments and meetings.
In my next post we will discuss about how to connect to Exchange using EWS Managed APIs and get understanding about basic terminologies used in EWS.
Microsoft has a habit of hiding complexities and providing user with easier things. This makes user to concentrate on his business logic instead of technicality of the things. That’s a good approach followed by Microsoft, but things get messy when some exception occur. Now since Microsoft buries all the complexities so most of the time it provides you with generic exception and you have no idea about the actual exception. And it gets worse when exception occurs in Web Services.
Most of the developers face “An unsecured or incorrectly fault error” exception in WCF if they are using any kind of Service Authentication. This problem can occur due to numerous reasons like “key not matched(of client and server)” or “timings of server and client were out of sync.”, etc. So how to know what exactly is the problem.
This can be achieved by “Service Security Audit” at your server side. It is enabled by adding
<serviceSecurityAudit> tag in your service behavior. eg. below:
auditLogLocation: Specifies the location of the audit log. The default value is Default. Valid values include the following:
- Default: Security events are written to the application log on Windows XP, and to the Event Log on Windows Server 2003 and Windows Vista.
- Application: Audit events are written to the Application Event Log.
- Security: Audit events are written to the Security Event Log.
serviceAuthorizationAuditLevel: Specifies the types of authorization events that are recorded in the audit log. The default value is None. Valid values include the following:
- None: No auditing of service authorization events is performed.
- Success: Only successful service authorization events are audited.
- Failure: Only failure service authorization events are audited.
- SuccessAndFailure: Both success and failure service authorization events are audited.
messageAuthenticationAuditLevel: Specifies the type of message authentication audit events logged. The default value is None.Valid values include the following:
- None: No audit events are generated.
- Success: Only successful security (full validation including message signature validation, cipher, and token validation) events are logged.
- Failure: Only failure events are logged.
- SuccessAndFailure: Both success and failure events are logged.
suppressAuditFailure: A Boolean value that specifies the behavior for suppressing failures of writing to the audit log.The default is true.
Once you have done the following you will receive actual error in Event Logs.
I hope this post will help out someone else also. From my personal experience most the time when authentication error occurs(during development) it is due to server and client machine time are out of sync.