This content has been marked as final. Show 10 replies
1. I want my Java app to be able to change stuff inGood question.
outlook. So when the user uses my app and then opens
outlook, it'll be diff. How do I do this?
I assume using the clipboard wont be enough, this means you must use some Java-Com bridge solution.
2. Is it possible to do the above through JavaJava Web Start beams the jar archives that make up the app over to the client box via http.
WebStart? WebStart makes everything over http (i
think) or can I also do sockets/SOAP (which yes I know
is http, but a bit diff.)? Does anyone know if i can
What happens then is up to the app.
Yes, the application could decide to open up a socket connection.
What you consider at this point is the security model behind JWS.
By default it is only ok to open a socket to the box, where the web start application came from.
For other connection targets you have to get permission from the user (for example by accepting a certificate that gives the web start app more rights on the executing client box).
Can anyone give me some sample code of even talking toGive me an example of a regular java app doing this talking and we might think how to make this run via Web Start
any Microsoft COM through webstart?
If you were able to get some sample code thatHave a look at the archives of Jacob and of course Jacob itself, if you only want to control Outlook from Java and not vice versa.
interfaces with MS Outlook I would also like to have a
copy. I'm trying to do the same thing from a Java app.
I want to update the calendar in Outlook with
reminders from my java app. Any help with this and or
COM bridging would be helpful.
First of all, you mention communicating with Outlook. Keep in mind that Outlook is really just a client-side app which provides an interface to MS Exchange. So, you want to change data that is actually in Exchange. While there may be a way to interact locally with Outlook (I'm assuming your Java app is on the same PC), it may be better to update Exchange directly. Doing it locally with Outlook, I can't help with. Interacting with the Exchange server, here's what I know...
The first question is, what version of Exchange are you dealing with? If you have Exchange 2000, there is an API I believe which handles XML data. This would probably be more straightforward than what you have to go through to interact with Exchange 5.5 (sorry, but I haven't dealt with 2000). Exchange 5.5 datta can only be accessed through a Colaboration Data Objects (CDO). For 5.5 you can use a product called J-Integra Exchange Bridge(http://www.intrinsyc.com/products/bridging/jintegra.asp) which will do the COM bridging for you and update Exchange directly (they also have an MS Excel bridge). Here's a quick overview of the Exhange bridge(http://www.intrinsyc.com/support/jintegrasuite/online_docs/java_exchange/java-exchange-intro.html)
Of course, if you use J-Integra's Exchange bridge (and it works for 2000 too) you'll need to have permission to access the Exchange server and set up a little local app (ocxhost.exe) which will recieve requests from Java clients and do the Java/COM conversion. If you don't have access to the Exchange server, you are out of luck on this approach, I guess you are left with interacting with Outlook locally.
If you have access to the Exchange server and check out J-Integra's bridge, then you will quickly find that the API into the Exchange objects is woefully thin (Contact, for example, only has setters for 5 fields). To set other fields, you need to interact with the microsoft CDO object through the proxy's provided by J-Integra's product. You are basically doing the CDO programming, only through the Java proxies provided by J-Integra.
This is fine if you have time to learn about CDOs -- lots of time and lots of patience. However, for a mere $3,000 - $8,000 more (per CPU!!!), you can use a product by Compoze which leverage's J-Integra's Exchange bridge and handles all of the ugly CDO code & logic for you. Check this out at: http://www.compoze.com/hcs_exchange.html . This product is the ideal if you can afford it and aren't doing this on a large scale (lots of CPUs increase quickly).
Of course if you were doing it on a large scale you're probably better off building your own solution, possibly on top of J-Integra's bridge. That's what we're doing.
You can use j-XChange (http://sourceforge.net/projects/j-xchange). It is a pure java implementation of the entire Collaboration Data Objects (CDO 1.21) library for accessing Microsoft Exchange Server in a platform independent manner. Library is released under LGPL (v3) and will allow interoperability with MS Exchange from all Non-Windows Platforms supporting Java.
This library is powered by j-Interop (www.j-interop.org).