Ok, lately I have been getting a pretty random set of questions that do not seem related to topics that I blog about. I will just gather them up into this entry.

Question:

Hi,

I am searching a free api for outlook. I want to read coming message and sender mail from outlook. Do you know any api like that?

Thanks,

Answer:

Sure. Outlook messages can be easily accessed from MAPI.

I have no idea whether Java supports MAPI. You may want to look at Java-to-.Net interop to see if you can get access to MAPI that way.

Question:

hi,

have you or any of your peers been able to succesfully open a word document with an attached assembly vis-a-vis a WedDav link (the document was is stored in a webdave content store)? The assembly loads an action pane with some listboxes and buttons.  I have been trying to get this working with not much luck.  the document and it's content itself opens, but the assembly is never loaded it seems (the action pane opens, but is blank).  i say this because when looking at the Assembly Binding Log Viewer, i see no entries at all.  HOWEVER, if instead of clicking on the webdav link, i right click and save the document, then open it with word, the assembly is loaded.

Your thoughts on this would be greatly appreciated.

Answer:

I do not know the exact answer, but I am pretty certain the issue has nothing to do with IIS, WebDAV, WordML, nor assemblies not loading.

The reason I am certain the issue has nothing to do with WebDAV/IIS is because from the perspective of WebDAV/IIS, there is NO difference between you left-clicking on the link and you right-click save the document. In both cases, the browser will simply request to download the resources from IIS, and IIS performs the download without bias. You verified this because you could open the Word document just fine in both cases.

Once the document reaches the browser, it is the browser that decides whether it should immediately launch a client-side plugin to open the document (i.e. left clicking) or do nothing (i.e. right clicking and saving).

My guess is that you are probably either :

  1. Violating some sort of .Net Assembly security requirement because left-click opening from the context of the browser is NOT the same thing as right click saving and then opening from the context of the local user on the local filesystem.
  2. Base paths are different when an Assembly is loaded from the browser vs. on the local filesystem.

In both cases, you are responsible for either configuring the right security requirements, or referencing the assembly's location correctly, and both those things are .Net-specific actions.

//David