在远程电脑上的COM+应用程序调用

    xiaoxiao2021-03-26  76

    string _methodName = string.Empty; string[] param; string CRYPTODATA = string.Empty; string inxml = string.Empty; _methodName = "GETPSNINFO"; CRYPTODATA = @"?xml version='1.0' encoding='GB2312' standalone='yes'?> < CRYPTINFO > < G > G </ G > < Y > Y </ Y > < M > 签名文本 </ M > < A > A </ A > < B > B </ B > < HASH > 加密的HASH </ HASH > </ CRYPTINFO > "; inxml = @"<?xml version='1.0' encoding='GB2312' standalone='yes'?> < DATA > < CARDTYPE > 卡类别 </ CARDTYPE > < CARDDATA > 磁条数据 </ CARDDATA > < SNO > 社会保障号 </ SNO > < IPADDR > 终端机IP地址 </ IPADDR > < PSAMNO > PASM卡号 </ PSAMNO > < PASSWORD > 密码 </ PASSWORD > < PAYTYPE > 支付类别 </ PAYTYPE > < INSURETYPE > 保险类别 </ INSURETYPE > < SPECILLNESSCODE > 特种病编码 </ SPECILLNESSCODE > < GSRDBH > 工伤认定编号 </ GSRDBH > < STARTDATE > 经办时间 </ STARTDATE > </ DATA > "; param = new string[2]; param[0] = CRYPTODATA; param[1] = inxml; System.Guid guid = new Guid("C89832ED-11E0-453B-915A-3AD7D2964277"); System.Type t = Type.GetTypeFromCLSID(guid, "192.168.1.98", true); object COMobject = System.Activator.CreateInstance(t); object obj = COMobject.GetType().InvokeMember(_methodName, System.Reflection.BindingFlags.InvokeMethod, null, COMobject, param);

    guid用oleview可以看到.ip地址就是com+部署的机器上.

    object COMobject = System.Activator.CreateInstance(t);这段代码报错可能是com+服务器配置问题.1.防火墙关掉2.打开添加和删除程序 里面有一个添加组件.找到应用程序服务器>启用网络com+访问 和启用网络DTC访问这俩个勾上.就应该可以了.

    转载请注明原文地址: https://ju.6miu.com/read-350203.html

    最新回复(0)