This discussion is archived
10 Replies Latest reply: Sep 15, 2008 12:49 AM by 843804 RSS

How do I interface with Outlook on a computer through WebStart?

843804 Newbie
Currently Being Moderated
I have two questions:

1. I want my Java app to be able to change stuff in outlook. So when the user uses my app and then opens outlook, it'll be diff. How do I do this?

2. Is it possible to do the above through Java 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 do this?

Can anyone give me some sample code of even talking to any Microsoft COM through webstart?
  • 1. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    1. I want my Java app to be able to change stuff in
    outlook. So when the user uses my app and then opens
    outlook, it'll be diff. How do I do this?
    Good question.
    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 Java
    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
    do this?
    Java Web Start beams the jar archives that make up the app over to the client box via http.
    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 to
    any Microsoft COM through webstart?
    Give me an example of a regular java app doing this talking and we might think how to make this run via Web Start
    as well.

    Regards,
    Marc
  • 2. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    thanks for the response. I will do exactly that. I will put together a small app that does smth quick with outlook (exchange) and post it. I'd appreciate all the help you can give at that point. thanks!
  • 3. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    If you were able to get some sample code that 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.

    Thanks
    Cliff
  • 4. Re: How do I interface with Outlook on a computer through WebStart?
    3004 Newbie
    Currently Being Moderated
    this may be a dumb question but... is there such a thing as an odbc driver for exchange. then you don't need any com access maybe?
  • 5. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    If you were able to get some sample code that
    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.
    Have 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.

    http://groups.yahoo.com/group/jacob-project/
  • 6. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    Check out the tool JacoZoom by InfoZoom (http://www.infozoom.de).
  • 7. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    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.
  • 8. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    Oh yeah, if you don't mind being limited to Win95 & Win98 this will probably do http://www.alphaworks.ibm.com/tech/bridge2java otherwise, I think you are left with the Jacob option.
  • 9. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    You can also try SyncEx Connector API (http://www.syncex.com/api/collaboration.html). This is 100% purre java and you need not to install any component on exchange server. It is also fastest among the available solutions.
  • 10. Re: How do I interface with Outlook on a computer through WebStart?
    843804 Newbie
    Currently Being Moderated
    Hi,
    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).

    best regards,
    Vikram