RTX二次开发笔记2

时间:2022-10-17 05:39:45
问题一:关于DLL文件的引用
在安装文件夹内
APIObject.dll==>RTXSAPI.dll 服务器API接口
RTXCAPI.DLL ==> 客户端API接口
问题二:RTX二次开发运行代码  
RootObj = new RTXSAPIRootObj();    //创建根对象  
出现错误 
检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件时失败,原因是出现以下错误: 80040154。
 
方法一: 调用com+的时候,对COM 组件的调用返回了错误 HRESULT E_FAIL  

原因:调用rtx组件实现登陆的时候,需要对NTFS文件夹进行权限配置  

解决办法: 

1. 在控制面板--->管理工具--->服务 中,开启Distributed Transaction Coordinator 服务。  
2. 打开控制面板--->管理工具--->组件服务--->选择计算机--->我的电脑--->右击属性--->选择MSDTC--->选择安全配置勾选事务管理器通信中的允许出站、允许入站和不要求进行验证。  
如下图所示:  

重启IIS 
方法二:
本地IIS没问题,发布到虚拟机上又出问题。
当时一共测试了2个虚拟机,都是WinServer2008 X64 的,结果就是无法获取到sessionkey。抛出异常为“检索 COM 类工厂中 CLSID 为 {79210E58-99EB-45D0-8890-763EFEAA143F} 的组件时失败,原因是出现以下错误: 80040154”。这个问题烦了我好久,在网上也搜到了这个问题,不过给的解决方案无效,于是发了E-Mail给腾讯通技术,回复说是RTX SDK dll是32位的,默认VS采用ANY CPU编译,如果这种模式编译,在64位系统上会出现异常,可以改为X86编译。
当然最后我还是用的WinServer2003 X86的虚拟机解决问题的。

 
问题三:
RTX二次开发笔记2
解决方案是:

 AppConnConfig.xml 添加服务器地址(本机地址)

<APIClient>

   <IPLimit Enabled="1">

      <IP>127.0.0.1</IP>

      <IP>192.168.1.111</IP>

   </IPLimit>

</APIClient>

添加后请切记重启所有服务。

 

注意如果开发过程中遇到Question请检查一下三个Files:
AppConnConfig.xml、SDKProperty.xml、SDKServer.ini