<p>I would like to read the text and binary attachments in a saved Outlook message (.msg file) from a Java application, without resorting to native code (JNI, Java Native Interface). </p>

<p><a href="http://poi.apache.org/hsmf/index.html" rel="noreferrer">Apache POI-HSMF</a> seems to be in the right direction, but it's in very early stages of development... </p>

You could use Apache POIFS, which
seems to be a little more mature,
but that would appear to duplicate the efforts of POI-HSMF.
You could use POI-HSMF and contribute changes to get the
features you need working.  That's
often how FOSS projects like that expand.
You
could use com4j, j-Interop, or some
other COM-level interop feature and
interact directly with the COM
interfaces that provide access to
the structured document.  That would
be much easier than trying to hit it
directly through JNI.