急 jacob调用com问题
用jacob调用了注册的Si2的com组件实现不了加密,请高手帮忙指教以下,谢谢!
以下是通过asp实现的正确过程,但是通过jacob实现不成功:
'给变量赋值
user="bill"
pwd="12345"
'创建对象
set obj = createobject("Si2.info")
'通过createxml方法创建固定xml,正确生成了xml
obj.createxml("c:\sinple.xml")
'通过addarg方法传递变量
obj.AddArg "username",user
obj.AddArg "password",pwd
'通过sign方法生成加密字符串,返回给ret
obj.Sign ret
Response.Write "ret=" & ret
'ret返回了正确的加密字符串
通过jacob写的过程:
ActiveXComponent obj = new ActiveXComponent("Si2.info");
Dispatch signobj = obj.getObject();
Dispatch.call(signobj, "createxml", "c:/sinple.xml");//这个可以正确生成了xml
String user = "bill";
String pwd = "12345";
Dispatch.call(signobj, "AddArg", "username", user);//这个写法不知道对不对
Dispatch.call(signobj, "AddArg", "password", pwd);
String ret = "";
Variant retv = Dispatch.call(signobj, "Sign", ret);//这个写法不知道对不对
System.out.println( "retv="+retv.toString() );//返回是0
System.out.println( "ret="+ret );//返回时空,说明没有成功。
请高手帮帮忙,是不是jacob的写法不对?
以下是通过asp实现的正确过程,但是通过jacob实现不成功:
'给变量赋值
user="bill"
pwd="12345"
'创建对象
set obj = createobject("Si2.info")
'通过createxml方法创建固定xml,正确生成了xml
obj.createxml("c:\sinple.xml")
'通过addarg方法传递变量
obj.AddArg "username",user
obj.AddArg "password",pwd
'通过sign方法生成加密字符串,返回给ret
obj.Sign ret
Response.Write "ret=" & ret
'ret返回了正确的加密字符串
通过jacob写的过程:
ActiveXComponent obj = new ActiveXComponent("Si2.info");
Dispatch signobj = obj.getObject();
Dispatch.call(signobj, "createxml", "c:/sinple.xml");//这个可以正确生成了xml
String user = "bill";
String pwd = "12345";
Dispatch.call(signobj, "AddArg", "username", user);//这个写法不知道对不对
Dispatch.call(signobj, "AddArg", "password", pwd);
String ret = "";
Variant retv = Dispatch.call(signobj, "Sign", ret);//这个写法不知道对不对
System.out.println( "retv="+retv.toString() );//返回是0
System.out.println( "ret="+ret );//返回时空,说明没有成功。
请高手帮帮忙,是不是jacob的写法不对?
...全文
相关推荐
jacob的API,很详细
**调用COM方法**: 一旦有了COM对象,就可以调用它的方法。Jacob使用`invoke`方法来实现这一点。
Java中通过Jacob调用C++ COM组件指南
组件对象模型(Component Object Model,COM)是微软提出的一种以组件为发布单元的对象模型。COM提供了二进制标准来定义对象和接口,确保不同编程语言编写的应用程序可以交互。COM组件是独立的可执行模块,通常以动态链接库(DLL)或可执行文件(EXE)的形式存在。在企业级应用中,利用COM组件可以实现代码复用,提升软件开发效率和应用稳定性。
java jacob调用autocad读取文件
Jacob(Java和COM的桥梁)是一个Java库,它使得Java应用程序能够直接调用COM组件,如AutoCAD的VBA接口。首先,我们要理解Jacob的基本工作原理。
使用JACOB工具调用COM组件
接下来,在Java端,使用JACOB调用这个COM组件。
C++ COM 组件 java + jacob 调用,jacob调用详情请看jacob栏
**日志记录**:为了调试,你可以开启Jacob的日志记录,这对于排查COM调用问题非常有帮助。通过上述知识点,你可以在Java项目中成功地使用Jacob调用C++编写的COM组件,实现跨语言的通信。


