首页  ·  知识 ·  
Label
      编辑:  图片来源:网络
  检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件时失败,原因是出现以下错误: 80040154。
 
解决方法:
1.如果你开发的环境没有安装rtx服务器的话,要注册你调用到的相关的dll。不知道如何注册dll ,进百度查   注册 dll
2.如果你的开发环境中有安装rtx服务器,并且你的系统是64位的。那么,在项目属性里面,生成->目标平台   改为 X86
 
 
问题:
RTX二次开发运行代码
  RootObj = new RTXSAPIRootObj();    //创建根对象
出现错误
检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件时失败,原因是出现以下错误: 80040154。
原因是:
可能遇到的问题:
1.  调用com+的时候,对COM 组件的调用返回了错误 HRESULT E_FAIL
原因:调用rtx组件实现登陆的时候,需要对NTFS文件夹进行权限配置
解决办法:
1. 在控制面板--->管理工具--->服务 中,开启Distributed Transaction Coordinator 服务。
2. 打开控制面板--->管理工具--->组件服务--->选择计算机--->我的电脑--->右击属性--->选择MSDTC--->选择安全配置勾选事务管理器通信中的允许出站、允许入站和不要求进行验证。
如下图所示:
重启IIS
实例文档:
RTX服务端提供了2个接口,RTXServerApi和RTXSAPILib。RTXServerApi主要用于和以前的老RTX版本结合,兼容RTX旧版本接口,现在不开发了,不建议使用。RTXSAPILib实现了RTXServerApi的所有接口,并附带开发了一些新功能,所以基于RTX的开发,建议使用。
1.        在服务端发送消息
这个实例我们采用RTXSAPILib,如果是asp.net的开发,需要导入Interop.RTXCAPILib.dll,Interop.RTXClient.dll,Interop.RTXSAPILib.dll这3个dll,在安装目录下可以找到。使用这个对象之前需要设定它的ip和端口,设置好后,可以利用消息提醒方法给任何一个指定的人发短信。具体代码如下:
RTXSAPILib.RTXSAPIRootObj RootObj;  //声明一个根对象
    public RtxUtil()
    {
        string RTXConnString = ConfigurationSettings.AppSettings["RTXconnString"].ToString();
        string[] RTXarg = RTXConnString.Split(';');
        RootObj = new RTXSAPIRootObj();     //创建根对象
        RootObj.ServerIP = ((string[])(RTXarg[0].Split('=')))[1]; //设置服务器IP
        RootObj.ServerPort = short.Parse(((string[])(RTXarg[1].Split('=')))[1]); //设置服务器端口
    }
   
    public void sendMSG(string txtReceivers, string txtMsgTitle, int txtTime, string txtMsgContent)
    {
        try
        {
            RootObj.SendNotify(txtReceivers, txtMsgTitle, txtTime, txtMsgContent); //发送信息
        }
        catch (Exception xe)
        {
        }
    }
2.       组织机构同步
这个功能我们采用RTXServerApi这个对象,需要使用的分对象有RTXObjectClass,RTXCollectionClass,需要使用的方法有Call2,同样在使用时需要制定根目录对象的IP和端口。其实组织机构同步原理是用集合对象去读取XML里面的数据,所以你得把组织机构先生成一个xml,然后以DATA的方式放到集合对象中,最后调用CALL2把数据读进去放到rtx中,这样就可以了。
具体代码如下:
RTXServerApi.RTXObjectClass RTXObj = new RTXObjectClass();  //创建一个业务逻辑对象
            RTXServerApi.RTXCollectionClass RTXParams = new RTXCollectionClass();// 创建一个集合对象
 
            RTXObj.Name = "USERSYNC";  //业务逻辑对象名称为用户同步类别
            RTXParams.Add("MODIFYMODE", 1);
            RTXParams.Add("DATA", textBox1.Text);
                     这里textBox1.Text里的内容实际上时一个xml的所有数据。
            try
            {
                RTXObj.Call2(enumCommand_.PRO_SYNC_TO_RTX , RTXParams);
                MessageBox.Show("导入成功");
            }
如果远程访问其他服务器的Rtx组件包,需要以下步骤:
 
1.       在本服务器上安装Rtx的Sdk和服务管理器(需要里面的组件,因为找不到具体是什么组件),然后再卸载他们。
2.       在rtx服务器进行设置,如:你的服务器的IP是192.168.1.156,那么需要把这个IP设置到Rtx服务器里,让它允许你访问它的组件。
具体做法是:
(1)打开Rtx的安装目录下的AppConnConfig.xml,这个配置文件用于应用程序连接,(2)在文件的<IPLimit Enabled="1">下加<IP>192.168.1.156</IP>。
(3)从启Rtx服务
3.       如果Rtx服务器开了防火墙,需要在网上邻居打开8006端口
4.       测试,用telnet <rtx服务器IP> 8006命令,如果出现黑屏小花,说明配置成功。
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的
收藏至微信