Hi! I am looking for a java API to access Outlook 2000 functions adn stuff.
Basically, I am looking forward to something like a webmail, where I can resolve e-mail addreses or choose from a list of valid addresses if there is more than one matching address from outlook.
I am not looking for a mail client. I am looking to
acees the Contacts list from the Outlook Exchange
server.
Outlook != Exchange. There are two different things you could be asking for here:
Access to Outlook, the client, running on your machine. Outlook is scriptable via COM+. There are Java/COM+ bridges out there - Google for them. You can then use the publicly documented COM+ interfaces in Outlook to manipulate it however you want.
(But Outlook can also be run without Exchange, and all this will still work there).
Access to Exchange itself. For routine mail access (sending/receiving), you can enable POP3/IMAP4 and SMTP connectors in Exchange, and use Javamail. But that's not what you want - you want to use the full Exchange functionality (Contacts folder, perhaps other public folders, etc., right?)
You may be able to go the same route as above - use a COM+ bridge to drive Exchange via Outlook. Or you can google around and find things like http://www.compoze.com/hme/vsslide.html (an Exchange connector API for Java).
I'm also looking to automate Outlook from Java. I've been mostly doing outlook automation through .Net, but am looking to build a client app that works across mutliple client platforms (Outlook and then handhelds like RIM, PocketPC), thus my interest in Java. On the MS-platforms (Windows XP-Outlook, PocketPC-PocketOutlook), I don't want to split the message stores since my client app needs to act on the same data that might normally be accessed via Outlook or PocketOutlook. So, I as well have been looking for something that bridges Java directly to the COM or .Net classes on both of those platforms. MS is currently favoring .Net on PocketPC instead of the old Pocket Outlook classes. I'm sure there are a lot of java/com bridges out there, but, fwiw, there's one guy who contacted me about the one he developed...see http://www.ezjcom.com/. Looks interesting. What would really be cool is if JavaMail could be strapped to Microsoft's classes in a way that allows me to do everything with JavaMail across all clients (hate maintaining multiple codebases).
Compoze Exchange Connector is a collection of 100% Java API libraries offering the easiest, most cost-effective way to gain access to Microsoft Exchange and integrate its information and functionality into portals, web applications or standalone Java applications. Compoze Exchange Connector hides the details of connecting to Microsoft Exchange allowing the developer to focus on the application and not its infrastructure.
Accessing information on the Microsoft Exchange server using Java is a difficult process due to the variety of ways that developers can access Exchange and the incompatibilities these methods have with Java. Compoze Software has solved this problem with Compoze Exchange Connector. Compoze Exchange Connector leverages Web Services to talk to Microsoft Exchange for faster performing and more secure web applications. Compoze Exchange Connector runs in any environment with a Java Virtual Machine (JVM) such as an application server, web server or portal server. (Figure 1)
With J-Integra for Exchange, it is now possible for Java applications to have access to Exchange Server objects like folders, messages, contacts, journals, and even calendar items without the need to write complex native code. J-Integra for Exchange exposes Exchange objects via APIs that are familiar to Java developers. Through these APIs, Exchange objects appear as though they are Java objects and can be used directly in your Java/J2EE applications.
In its aim to support developers with a wide variety of integration needs, J-Integra for Exchange offers three types of Java APIs for programmatic access to Microsoft Exchange:
1. Java API for CDO - A pure Java replica of the original CDO (Collaboration Data Objects) API.
2. JavaMail API for Exchange - A full implementation of the JavaMail 1.3 API.
3. Java-Exchange Bridge (JEB) - A user-friendly API for users with no CDO or JavaMail experience.
3
Brutus (C++) Open Source
http://www.omesc.com/modules/main_module/ (C++)
The way brutus works, is that it wraps MAPI at the server end in corresponding corba objects. That is really the only technically feasible way to do it.
So what you should/could do, is to take the Brutus idl files and compile them using some appropriate Java idl compiler. Two that might do it for you is Java IDL() from Sun or JacORB(*). They are both fine.
You can then access the Exchange server on an equal footing with Outlook. I intend(*) to expand the sample code to show how you can browse all contacts on the Exchange server using Brutus. The sample code is under the GPL, as is all of Brutus, so you can use it directly in your product (provided that is is GPL'ed too).
The sample code is C++ but there are so many similarities between C++ and Java that it should be possible to translate it without to much trouble.
The Java-to-COM solution.
EZ JCom lets you call COM objects from Java.
EZ JCom provides a bridge between Java programs and COM (ActiveX) objects. Using EZ JCom, Java programs can call COM objects, can receive events from COM objects, and - for visual COM objects - can even embed the COM objects inside Java user interface elements, such as in Swing, AWT or SWT pages.
No knowledge of C++ or COM is necessary. The translation layer (bridge) between Java and COM is automatically generated by EZ JCom!
Sample Java main programs are provided that show EZ JCom being used with some common COM objects. For a brief technical overview, please visit the how-to page.
EZ JCom can be used on Windows platforms to access COM objects locally. It can also be used to access COM objects remotely from other Java platforms such as Unix, Linux, Mac, or Handhelds, by using the included Remote Access Service.
For those who need advanced control over COM objects or whose COM objects are complex, EZ JCom also includes support for DCOM, choosing STA vs MTA, complex data types such as records, variants, arrays, arrays of records, reverse callbacks from COM objects into Java for event handling, and more!
I'm trying to retreive the meeting room booking information and display it on a RIM Blackberry. I'm wondering if any of these would be able to grab information from conference room bookings (Public Folders) from the exchange server.
Ive found another one, http://www.kova-solutions.com/joc/ this is $251 per seat but offers a 'site' licence for about $2K which is fine if you have >10 app clients
What does that mean, NOT Outlook Exchange. Outlook 2003 connects to Exchange server. Once you bridge Java to Outlook's classes, does it matter what's on the back end?
NOT means that I wrote the authors of the package asking whether or not their package could connect Java to Outlook Exchange and they said it could NOT.
If you're saying that 2003 connects to Exchange then maybe there is a way, but I don't know what that way is, and apparently neither does the creator at Kova.
JHaight
Thread below:
Hi,
No. Only the Outlook 2000, 2002, XP and 2003 are supported for now.
Regards,
Ondrej Benovsky
ob@kova-solutions.com
-----Original Message-----
From: Jeffrey Haight
Sent: mercredi, 1 d?cembre 2004 12:46
To: info@kova-solutions.com
Subject: Java Outlook Connector
Hi.
Does this software connect Java to Outlook Exchange also?