Exchange Plugin


The Exchange Plugin for Servoy makes it possible to integrate 2-way communication with a Microsoft Exchange Server®.

When you or your (Corporate) client uses Microsoft Exchange® as a solution for Calendaring E-mail etc. the Exchange Plugin is your friend.
You can realize the benefits of improved operational integration and corporate transparency at a sustainable cost.

The Plugin enables you to work with:

  • Appointments
  • Meetings
  • E-Mail
  • Tasks
  • Contacts
  • Public Contacts
  • Create folders

The Exchange Plugin is based on the Java Exchange Connector (JEC) libraries by NetComps LTD .

The JEC libraries support MS Exchange 2000, 2003 (see FAQ for more details).

The ExchangeWS Plugin supports MS Exchange 2007, 2010 and 2013 and is based on the Exchange Web Services (EWSJ) libraries by NetComps LTD .


When your (clients) business communication relies on Microsoft Exchange Server® and you need access to that information the Exchange Plugin will disclose ‘the Microsoft Exchange world’ for your solution.


Smart client Headless client Web client Mobile client NG client
8.0+ 1.6+
7.0+ 1.6+ n/a
6.1+ 1.6+ n/a n/a


We published our API Specifications for the Exchange Plug-in as a future and current reference.

After downloading the Exchange Plug-in using our Components Manager a sample solution {servoy_root}/solutions/it2be-examples/it2be-exchange.servoy is installed.
You can import the sample solution into Servoy Developer and you will have some (basic) code examples of how to use the Exchange Plug-in.


Where does the license file go for WAR deployments?

For WAR deployments, make sure you are on the latest version of the plugin and install the JEC License file at: ${SERVOY_USER_HOME}/ServoyComponents/jeclicense

How does the Exchange Plugin communicate with Exchange Server?

The Exchange Plugin makes use of the JEC and EWSJ libraries of Netcomps LTD.
You can find more information about the company and its products here .

What Exchange versions are supported by the Exchange Plugin?

The Exchange Plugin supports Exchange Server 2000 and 2003.
The ExchangeWS Plugin supports exchange 2007, 2010 and 2013.

We recommend the Exchange Plugin for Exchange 2000 and 2003.
We recommend the ExchangeWS Plugin for 2007, 2010 and 2013.

What protocol is used by the Exchange Plugin and what is its architecture?

The Exchange Plugin is based on the JEC libraries.

JEC Uses WEBDAV/HTTP to communicate with exchange, which means that the Exchange server OWA (Outlook Web Access) need to be on.
Regarding the Architecture, JEC uses ApacheHTTPClient and a modified version Jakarta Slide to Support Microsoft WEBDAV Exchange API (which is not standard WEBDAV).

What protocol is used by the ExchangeWS Plugin and what is its architecture?

The ExchangeWS Plugin is based on the EWSJ libraries.

EWSJ Uses EWS/HTTP to communicate with Exchange.
Regarding the Architecture: EWSJ does not rely on any Web Services library, which gives the Plugin much more flexibility when implementing Exchange operations and busting performance.

Exactly what Exchange types are supported?

– Emails are supported (including getting attachments, send with attachments and save draft);
– Events are fully supported;
– Contacts Get, Add, Edit, Delete, Filter and Public folders.
– Tasks are fully supported.
– i18n for all types is supported.

Does the Exchange Plugin Support SSL and what authentication schemes are supported?

JEC and EWSJ support SSL and also partially support self signed certificates.
Basic, digest, NTLM (Windows Integrated) and FBA authentication schemes are supported.
NTLM v2 is not supported.

Is there a way to get the exchange ID of an existing item?

When you do not know the exchange ID of an existing mail (or any other Exchange Item) you can retrieve a set of items and iterate over them.
You can validate the property of your choice against the value you have and, when they are the same, you can retrieve the UniqueId or UID.

What is the ChangeKey (ExchangeWS only)?

The ChangeKey is the unique ID used to track items when they need to be changed.
It is mainly of importance for recurring events.

What is a Server license?

A Server license is a license that allows you to use the Exchange Plugin on only one machine.

It is likely that you or your client will have 2 NICS installed on that machine.
One for internal use and one for external use.

You are allowed to use one internal and one external ip/domain per Server license.

What is the difference between UniqueId and UID (Exchange Plugin only)?

The UniqueId can change when the name changes (in some cases but but it is impossible to tell when).

The UID will stay unique.

The UniqueId is what is returned when you save an item.

Currently the UniqueId is used when you want to retrieve a certain item.

A future version of the bean will support doing the same using the UID.
The reason that they are both used is that with recurring events the UID is always the same. For that a UniqueId is used.

Am I allowed to switch my Server License from our production server to our backup server?

Running on 2 servers is not allowed with only one license (see article ‘What is a Server license’).

To run on a second server, or to add a backup server you need an additional Server license.
All IP addresses and or domain names will be added to one license file to avoid too many issues.

Is my license valid for the Exchange Plugin as well as the ExchangeWS Plugin

Yes, it is, as long as you have a maintenance subscription.

You can use the license with both Plugins but only on the same server(s) that you have the license for.

This does not apply to the JEC and EWSJ libraries.
There is an upgrade fee for moving from JEC to EWSJ.
You can go to for more information.

I have a Server license but we moved our server, can I get another license?

When you bought one Server license, you are limited to the use of the Exchange Plugin for only one server (see article ‘What is a Server license’).

As a result, you can not simply move the server license to another domain name or IP address.
You need to buy a new license from our shop.

When you move your server frequently or when you need a solution for more than one client we can make you an offer for a ‘Site license’ (unlimited deployment).

How can I debug the Exchange Plugin

When you start to work with the Exchange and/or ExchangeWS Plugin it is good to have additional information about what you are doing.
Or you need to debug an issue and JEC or IT2BE ask you for additional information.

When this is the case please follow the below instructions for changing the properties file.

  1. Close Servoy (very important otherwise your changes will not be used and overwritten).
  2. Locate the ‘’ file.
  3. Open the file.
  4. Move to the lines that start with ‘log4j.’.
  5. Insert the following below lines:
    log4j.category.jec.utils.AppLogger=DEBUG, stdout
  6. Change the line ‘log4j.debug=false’ into ‘log4j.debug=true’.
  7. Restart Servoy

This should give you much more output in the log file than you had before.
Don’t forget to at least change back ‘log4j.debug=true’ into ‘log4j.debug=false’ or you will have too much logging output.

I cannot use the Component with Servoy Developer or an Application Server.

Open the Servoy Administration Website (e.g. localhost:8080/servoy-admin/ for a default Servoy Developer installation). Move to ‘Servoy Server Home’ -> ‘Smart Client Settings’ and add it2be.ExchangeService to ‘servoy.application_server.trustedRemotePlugins’ (you can use a comma as separator).
This should allow the Component to work.





One server & IP/Domain based

  • +35% p/y
    maintenance fee



Unlimited Servers

  • +35% p/y
    maintenance fee

The Exchange Plugin is based on the Java Exchange Connector (JEC) libraries.
The ExchangeWS Plugin is based on the Exchange Web Services (EWSJ) libraries.

Without a valid (trial) license for the JEC or EWSJ libraries the Exchange Plugins will operate in trial mode or not at all.
A license for the JEC and EWSJ libraries can be bought from NetComps LTD .