我有一个用VB6开发的COM +组件.
在使用组件服务管理器COM +应用程序注册后,我可以像这样在ASP中使用它
Set Comando = Server.CreateObject("JuiciosComando.clsComando") ComandoExecute = Comando.execute(Xml) Set Comando = Nothing
这就是我所需要的,组件只接收一个(可能是一个巨大的)字符串并返回另一个(也可能是巨大的)字符串......
有没有办法从Java访问这个相同的组件?
到目前为止我发现的是J-Integra,但它是商业产品.
我也在codeguru.com上找到了这个帖子,但我的C++ .NET知识相当差,除了我宁愿找到一个免费的纯Java解决方案.
正如Eddie所提到的,你有两种通过java使用COM的主要方法:使用C++编写JNI包装器或使用第三方JAR包装COM对象.
我过去曾尝试使用C++来包装一个COM对象 - 它不适合胆小的人 - 这不容易做到,并且很容易泄漏资源.
我还使用了两个第三方JAR:ComfyJ和JACOB.
ComfyJ非常易于使用,还包含一个codegen实用程序,可以为您的COM类生成Java包装类.
它可以通过http://www.teamdev.com/comfyj/index.jsf下载和试用
(我不以任何方式与TeamDev有关联!)
如果您迫切需要一个完全免费的解决方案,您也可以尝试JACOB(http://sourceforge.net/projects/jacob-project/).
我有文档问题,但它相对稳定.