| Latest Exchange Plug-in release available | 1.5.44 | 08/13/2011 |
| Latest Exchange Plug-in beta release available | 1.5.45 | 02/03/2012 |

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 Plug-in enables you to work with:
- Appointments
- Meetings
- Tasks
- Contacts
- Public Contacts
- Create folders
The Exchange Plug-in is based on the Jave Exchange Connector (JEC) libraries by NetComps LTD.
The JEC libraries support MS Exchange 2000, 2003 and 2007 (see FAQ for more details).
A version of the ExchangeWS Plug-in supporting MS Exchange 2007 and 2010 is under development.
The ExchangeWS Plug-in 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 Plug-in will disclose 'the Microsoft Exchange world' for your solution.
| Smart client | Web client | Headless client | ![]() |
![]() |
![]() |
||
| 4+ | 1.5 + | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 5+ | 1.5 + | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 6+ | 1.5 + | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
These video's will give you an introduction and simple instructions of how you can start using the Component.
Please do not forget to import the sample solution. You can find the sample solution in servoy_root/solutions/it2be-examples.
Please do not forget to import the sample solution. You can find the sample solution in servoy_root/solutions/it2be-examples.
One server, IP/Domain based (175.00 Euro maintenance fee p/y) |
700.00 EURO
|
You already have a Site license (175.00 EURO maintenance fee p/y) |
245.00 EURO
|
Important
The Exchange Plug-in is based on the Java Exchange Connector (JEC) libraries.
The ExchangeWS Plug-in (under development) is based on the Exchange Web Services (EWSJ) libraries.
Without a valid (trial) license for the JEC and/or EWSJ libraries the Exchange and ExchangeWS Plug-ins will operate in trial mode or not at all.
A license for the JEC and/or EWSJ libraries can be bought from NetComps LTD.
The Exchange Plug-in is based on the Java Exchange Connector (JEC) libraries.
The ExchangeWS Plug-in (under development) is based on the Exchange Web Services (EWSJ) libraries.
Without a valid (trial) license for the JEC and/or EWSJ libraries the Exchange and ExchangeWS Plug-ins will operate in trial mode or not at all.
A license for the JEC and/or EWSJ libraries can be bought from NetComps LTD.
IMPORTANT
The JEC (Exchange Plug-in, communicate with MS Exchange 2000, 2003, 2007) and EWSJ (ExchangeWS Plug-in, communicate with MS Exchange 2007, 2010) are not 100% interchangeable due to many differences in the
API.
To find out what is going on 'under the hood' you can enable logging for the libraries by adding the following line to servoy.properties: 'log4j.category.jec.utils.AppLogger=ERROR, stdout'.
1.5-044 11/02/2011
[chg] prefixed all Plug-in objects with IE for JS Documentation in Servoy 6
[chg] made several changes for improved compatibiliby with Servoy 6
[chg] included JEC 1.64_27
1.5-043 08/09/2011
[chg] improved getFolders method when using a path (use ':' separator within a path)
[chg] extended getMails method with an optional startIndex and endIndex property.
1.5-040 03/15/2011
[chg] moving to folders with getMails(...) etc. now also works with subfolders. Use ':' separator when using nested subfolders
1.5-039 03/11/2011
[fix] getAllFolders(connection, folder) now also works with subfolders. Use ':' separator when using nested subfolders
1.5-038 03/02/2011
[chg] included latest JEC libraries (1.64_25)
1.5-037 12/29/2010
[chg] changed libraries to support (backward) compatibility between (beta) releases
1.5-035 05/05/2010
[chg] made several changes to fix security issue with latest Java release
[chg] included latest JEC libraries (1.64_24)
1.5-028 01/29/2010
[chg] improved Framework to work with external (gui and command-line) installer
[chg] included latest JEC libraries (1.64_23t2)
[new] moveMail(...) now returns the new url and moveMails(...) return an array of new urls
[new] added property to connection class for using NTLM authentication
[new] added contact property displayName
[new] added contact property fileAs (to support displayName)
[new] added contact method getTextDescription
[new] added 'privateKeystoreLocation' to Connection class, to be used when Servoy install has a space in the path name
[chg] deprecated 'appointmentFolderName' in Connection class, use 'calendarFolderName' instead
[fix] corrected authentication issue
[fix] getCategories threw an exception when null (now returns null)
1.5-024 08/17/2009
[chg] included latest JEC libraries (1.64_20)
[chg] deprecated Task Id, you should use getUid and setUid
[chg] deprecated Contact getExchangeId, you should use getUid
[new] added setUid for Contact Uid
[new] added setUid for Mail Uid
[new] added returnUniqueId to main tree to force return the uniqueId or Uud on save()
1.5-023 07/28/2009
[new] added moveMail(...) and moveMails(...) methods
[new] added getLastModificationDate() method to contacts
[new] added getLastModificationDate() method to email
[chg] deprecated getLastModificationTime() method for Tasks. now use getLastModificationDate()
[chg] included new JEC libraries
[fix] corrected issue with attachments for sending email
[fix] corrected issue with attachments for reading rmail
1.5-022 04/29/2009
[chg] included new JEC libraries
[chg] removed signature from core-common.jar to avoid security issues
[fix] solved several bugs
1.5-021 03/16/2009
[new] added getAttachmentNames() to mail node
[chg] added lastModificationDate argument to getAppointments to retrieve only modified appointments
[chg] added startDate and endDate argument to getTasks to retrieve tasks by startDate (in range)
[chg] added lastModificationDate argument to getTasks to retrieve only modified tasks
[chg] included new JEC libraries
[fix] changed removeMail(connection, uniqueId) to removeMail(connection, folder, uniqueId) to make it work
[fix] getAttachments now returns all attachments for mail
1.4-020 03/09/2009
[chg] it is no longer necessary to register a developer license
1.4-019 01/19/2009
[new] added addAttachment(...) method
[new] added getAttachments(...) method
1.3-018 12/23/2008
[chg] made some adjustments to core activation wizard
1.3-017 12/05/2008
[new] added createAppointmentFolder(...) method
[new] added createMailFolder(...) method
[new] added createTaskFolder(...) method
[chg] improved sample solution
[fix] corrected issue retrieving public contact and contacts
1.3-017 12/05/2008
[new] added recurringRule property (String) to appointment and meeting
[new] added reminderIsSet property (String) to appointment and meeting
[new] added getAllFolders(...) method
[chg] CRITICAL changed JEC libraries to version 1.64_05t12
[chg] input of the folder for getApplications is now mandatory (can be null)
[chg] improved sample solution and sample data
[fix] corrected issue with client not 'reaching' the application and Exchange server
[fix] corrected issue of Contacts not returning the correct id
[fix] corrected issues with get and getAll
1.1-016 10/30/2008
[chg] improved license feedback in log file
[fix] changed a couple of core functions
1.1-015 10/30/2008
[fix] preference panel 'Components' is now available again
1.1-014 10/21/2008
[fix] corrected issue with Eclipse update manager
1.1-012 08/16/2008
[fix] corrected startup file for client loaded from application server
1.1-011 05/25/2008
[chg] redesigned for Servoy 4.0
[fix] creating a meeting request now works
1.0-010 04/02/2008
[chg] made some important improvements to the core to prepare for Servoy 4.0
1.0-009 02/25/2008
[new] added method 'getVersionLicensed' to find out what version is licensed
[chg] added latest JEC libraries 1.61_03
[chg] reduced client download size for resources with overall savings up to 45%
1.0-b008 01/14/2008
[chg] added latest JEC libraries 1.61
[chg] Connection Object is now Servoy Object
[chg] moved authentication to main plug-in to make it possible to add arguments to the Connection
[chg] changed sample solution
[chg] added sample data
[chg] added missing tooltips
[new] added method isAuthenticated() to check that a connection went well
[new] created method getAuthenticationError() to find information about the error of the connection
[new] added setting of international folder names to the Connection Object
[new] implemented TimeZone support based on locale preferences
1.0-b007 11/07/2007
[chg] added latest JEC libraries 1.60_20d
1.0-b006
[chg] added removeTask()
[chg] improved support for email
[chg] added latest JEC libraries 1.53_12
[chg] added jec keystore as backup for expired secure sites
1.0-b005
[new] added getVersion() and getLicense() methods to retrieve component information
[chg] the Plug-in is now lazy loading
1.0-a001
[new] initial release: communicate with MS Exchange
The JEC (Exchange Plug-in, communicate with MS Exchange 2000, 2003, 2007) and EWSJ (ExchangeWS Plug-in, communicate with MS Exchange 2007, 2010) are not 100% interchangeable due to many differences in the
API.
To find out what is going on 'under the hood' you can enable logging for the libraries by adding the following line to servoy.properties: 'log4j.category.jec.utils.AppLogger=ERROR, stdout'.
1.5-044 11/02/2011
[chg] prefixed all Plug-in objects with IE for JS Documentation in Servoy 6
[chg] made several changes for improved compatibiliby with Servoy 6
[chg] included JEC 1.64_27
1.5-043 08/09/2011
[chg] improved getFolders method when using a path (use ':' separator within a path)
[chg] extended getMails method with an optional startIndex and endIndex property.
1.5-040 03/15/2011
[chg] moving to folders with getMails(...) etc. now also works with subfolders. Use ':' separator when using nested subfolders
1.5-039 03/11/2011
[fix] getAllFolders(connection, folder) now also works with subfolders. Use ':' separator when using nested subfolders
1.5-038 03/02/2011
[chg] included latest JEC libraries (1.64_25)
1.5-037 12/29/2010
[chg] changed libraries to support (backward) compatibility between (beta) releases
1.5-035 05/05/2010
[chg] made several changes to fix security issue with latest Java release
[chg] included latest JEC libraries (1.64_24)
1.5-028 01/29/2010
[chg] improved Framework to work with external (gui and command-line) installer
[chg] included latest JEC libraries (1.64_23t2)
[new] moveMail(...) now returns the new url and moveMails(...) return an array of new urls
[new] added property to connection class for using NTLM authentication
[new] added contact property displayName
[new] added contact property fileAs (to support displayName)
[new] added contact method getTextDescription
[new] added 'privateKeystoreLocation' to Connection class, to be used when Servoy install has a space in the path name
[chg] deprecated 'appointmentFolderName' in Connection class, use 'calendarFolderName' instead
[fix] corrected authentication issue
[fix] getCategories threw an exception when null (now returns null)
1.5-024 08/17/2009
[chg] included latest JEC libraries (1.64_20)
[chg] deprecated Task Id, you should use getUid and setUid
[chg] deprecated Contact getExchangeId, you should use getUid
[new] added setUid for Contact Uid
[new] added setUid for Mail Uid
[new] added returnUniqueId to main tree to force return the uniqueId or Uud on save()
1.5-023 07/28/2009
[new] added moveMail(...) and moveMails(...) methods
[new] added getLastModificationDate() method to contacts
[new] added getLastModificationDate() method to email
[chg] deprecated getLastModificationTime() method for Tasks. now use getLastModificationDate()
[chg] included new JEC libraries
[fix] corrected issue with attachments for sending email
[fix] corrected issue with attachments for reading rmail
1.5-022 04/29/2009
[chg] included new JEC libraries
[chg] removed signature from core-common.jar to avoid security issues
[fix] solved several bugs
1.5-021 03/16/2009
[new] added getAttachmentNames() to mail node
[chg] added lastModificationDate argument to getAppointments to retrieve only modified appointments
[chg] added startDate and endDate argument to getTasks to retrieve tasks by startDate (in range)
[chg] added lastModificationDate argument to getTasks to retrieve only modified tasks
[chg] included new JEC libraries
[fix] changed removeMail(connection, uniqueId) to removeMail(connection, folder, uniqueId) to make it work
[fix] getAttachments now returns all attachments for mail
1.4-020 03/09/2009
[chg] it is no longer necessary to register a developer license
1.4-019 01/19/2009
[new] added addAttachment(...) method
[new] added getAttachments(...) method
1.3-018 12/23/2008
[chg] made some adjustments to core activation wizard
1.3-017 12/05/2008
[new] added createAppointmentFolder(...) method
[new] added createMailFolder(...) method
[new] added createTaskFolder(...) method
[chg] improved sample solution
[fix] corrected issue retrieving public contact and contacts
1.3-017 12/05/2008
[new] added recurringRule property (String) to appointment and meeting
[new] added reminderIsSet property (String) to appointment and meeting
[new] added getAllFolders(...) method
[chg] CRITICAL changed JEC libraries to version 1.64_05t12
[chg] input of the folder for getApplications is now mandatory (can be null)
[chg] improved sample solution and sample data
[fix] corrected issue with client not 'reaching' the application and Exchange server
[fix] corrected issue of Contacts not returning the correct id
[fix] corrected issues with get and getAll
1.1-016 10/30/2008
[chg] improved license feedback in log file
[fix] changed a couple of core functions
1.1-015 10/30/2008
[fix] preference panel 'Components' is now available again
1.1-014 10/21/2008
[fix] corrected issue with Eclipse update manager
1.1-012 08/16/2008
[fix] corrected startup file for client loaded from application server
1.1-011 05/25/2008
[chg] redesigned for Servoy 4.0
[fix] creating a meeting request now works
1.0-010 04/02/2008
[chg] made some important improvements to the core to prepare for Servoy 4.0
1.0-009 02/25/2008
[new] added method 'getVersionLicensed' to find out what version is licensed
[chg] added latest JEC libraries 1.61_03
[chg] reduced client download size for resources with overall savings up to 45%
1.0-b008 01/14/2008
[chg] added latest JEC libraries 1.61
[chg] Connection Object is now Servoy Object
[chg] moved authentication to main plug-in to make it possible to add arguments to the Connection
[chg] changed sample solution
[chg] added sample data
[chg] added missing tooltips
[new] added method isAuthenticated() to check that a connection went well
[new] created method getAuthenticationError() to find information about the error of the connection
[new] added setting of international folder names to the Connection Object
[new] implemented TimeZone support based on locale preferences
1.0-b007 11/07/2007
[chg] added latest JEC libraries 1.60_20d
1.0-b006
[chg] added removeTask()
[chg] improved support for email
[chg] added latest JEC libraries 1.53_12
[chg] added jec keystore as backup for expired secure sites
1.0-b005
[new] added getVersion() and getLicense() methods to retrieve component information
[chg] the Plug-in is now lazy loading
1.0-a001
[new] initial release: communicate with MS Exchange
- How does the Exchange Plug-in communicate with Exchange Server?
- What Exchange versions are supported by the Exchange Plug-in?
- What protocol is used by the Exchange Plug-in and what is its architecture?
- What protocol is used by the ExchangeWS Plug-in and what is its architecture?
- Exactly what Exchange types are supported?
- Does the Exchange Plug-in Support SSL?
- How can I get more info from 'under the hood'
- Is there a way to get the exchange ID of an existing item?
- What is the ChangeKey (ExchangeWS only)?
- What is a Server license?
- What is the difference between UniqueId and UID (Exchange Plug-in only)?
- Am I allowed to switch my Server License from our production server to our backup server?
- Is my license valid for the Exchange Plug-in as well as the ExchangeWS Plug-in
- I have a Server license but we moved our server, can I get another license?
- How can I debug the Exchange Plug-in
-
back to top
How does the Exchange Plug-in communicate with Exchange Server?The Exchange Plug-in makes use of the JEC and EWSJ libraries of Netcomps LTD.
You can find more information about the company and its products here. -
back to top
What Exchange versions are supported by the Exchange Plug-in?The Exchange Plug-in supports Exchange Server 2000, 2003 and 2007.
The ExchangeWS Plug-in supports exchange 2007 & 2010.
We recommend the Exchange Plug-in for Exchange 2000 and 2003.
We recommend the ExchangeWS Plug-in for 2007 and 2010. -
back to top
What protocol is used by the Exchange Plug-in and what is its architecture?The Exchange Plug-in 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). -
back to top
What protocol is used by the ExchangeWS Plug-in and what is its architecture?The ExchangeWS Plug-in 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 Plug-in much more flexibility when implementing Exchange operations and busting performance. -
back to top
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.
-
back to top
Does the Exchange Plug-in 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. -
back to top
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. -
back to top
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. -
back to top
What is a Server license?A Server license is a license that allows you to use the Exchange Plug-in 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. -
back to top
What is the difference between UniqueId and UID (Exchange Plug-in 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. -
back to top
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. -
back to top
Is my license valid for the Exchange Plug-in as well as the ExchangeWS Plug-inYes, it is, as long as you have a maintenance subscription.
You can use the license with both Plug-ins 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 http://www.javaexchangeconnector.com/ for more information.
-
back to top
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 Plug-in 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). -
back to top
How can I debug the Exchange Plug-inWhen you start to work with the Exchange and/or ExchangeWS Plug-in 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 'servoy.properties' file.
3. Open the file.
4. Move to the lines that start with 'log4j.'.
5. Insert the below lines:
log4j.logger.com.it2be=DEBUG
log4j.rootLogger=WARN
log4j.category.jec.utils.AppLogger=DEBUG, stdout
log4j.logger.httpclient.wire=DEBUG
log4j.logger.jec.httpclient3=DEBUG
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.




