UseByDateException raised Dec 2004. Please note state of java (MS) in MicrosoftExtensions
Some of us are trying to use JavaWithMicrosoftCom
. What are the options? [Note Com
refers to a ComComponent
written to the specs of ComponentObjectModel
Use VisualJ and the MicrosoftJavaVm?
not very portable and who knows where it's going to go, but it works well enough. --SteveFreeman
Thanks. I only asked because one of my apps is in the same boat(!).
have a proposal for bridging/adapting between COM/ActiveX and JavaBeans
JIntegra is a pure Java product that talks DistributedCom
. See http://www.linar.com/
for details. The software can be downloaded on a trial basis (it will expire after 6 weeks without a license key). Costs vary by application--client licenses can cost as little as $375 for 5 clients, while server licenses cost $3000 "per production server CPU".
From the JIntegra whitepaper:
- J-Integra's pure Java runtime talks to COM components using DistributedCom (DCOM) layered over RemoteProcedureCalls (RPC), which are themselves layered on TcpIp. So at the lowest level J-Integra uses the totally standard Java networking classes.
- To the Java programmer, J-Integra makes COM components look just like Java objects, presenting COM properties, methods and events as Java properties, methods and events.
- The J-Integra bridge is bi-directional. COM developers can make callbacks into Java objects. J-Integra dynamically "remote-enables" any Java object, making all of its public methods and member variables accessible from COM.
allows hosting ActiveX visual components as JavaBeans
with Java (http://www.gensym.com/java/
). Check site for price. Sun provides the free ActiveX Bridge for hosting JavaBeans
as ActiveX components (http://java.sun.com/beans/software/index.html
).JIntegra currently works as Eric describes but appears to be tackling visual components in beta versions (cost is based on developer sites). All of the above work more or less, in other words, try before you buy.
Disclaimer: I wrote J-Integra
The main downside to J-Integra is that some COM objects can not be accessed via DCOM (the COM network protocol which J-Integra talks) -- some kinds of COM objects that require a special "helper" COM class be loaded into the client address space to help unmarshal data -- this isn't possible using J-Integra because the client can be sitting anywhere (not necessarily a windows platform). There are not many objects like this, but they do exist.
I guess the best thing about J-Integra is that because the runtime is pure Java your Java code can be sitting on anything that has a JVM and a TCP/IP link to the Windows box you are talking to (or that is talking to you).
I know it sounds insipid, but if you want something changed or added or if you dislike something about it (including the price ;-) please email me -- can't promise, but if you have reasonable suggestions there is a very good chance of getting changes incorporated into the next version.
If you want to talk Excel, these are the relevant online step-by-step examples:
Now there is project called "Com4J" in java.net. Don't know how reliable it is though. -- PisinBootvong
J-Integra doesn't work if the windows box has the Local Security Policy: NTLMv2 response only, refuse LM & NTLM