問(wèn)題一:關(guān)于DLL文件的引用
在安裝文件夾內(nèi)
APIObject.dll==>RTXSAPI.dll 服務(wù)器API接口
RTXCAPI.DLL ==> 客戶(hù)端API接口
問(wèn)題二:RTX二次開(kāi)發(fā)運(yùn)行代碼
RootObj = new RTXSAPIRootObj(); //創(chuàng)建根對(duì)象
出現(xiàn)錯(cuò)誤
檢索 COM 類(lèi)工廠(chǎng)中 CLSID 為 {79210E58-99EB-45D0-8890-763EFEAA143F} 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 80040154。
方法一: 調(diào)用com+的時(shí)候,對(duì)COM 組件的調(diào)用返回了錯(cuò)誤 HRESULT E_FAIL
原因:調(diào)用rtx組件實(shí)現(xiàn)登陸的時(shí)候,需要對(duì)NTFS文件夾進(jìn)行權(quán)限配置
解決辦法:
1. 在控制面板--->管理工具--->服務(wù) 中,開(kāi)啟Distributed Transaction Coordinator 服務(wù)。
2. 打開(kāi)控制面板--->管理工具--->組件服務(wù)--->選擇計(jì)算機(jī)--->我的電腦--->右擊屬性--->選擇MSDTC--->選擇安全配置勾選事務(wù)管理器通信中的允許出站、允許入站和不要求進(jìn)行驗(yàn)證。
如下圖所示:
重啟IIS
方法二:
本地IIS沒(méi)問(wèn)題,發(fā)布到虛擬機(jī)上又出問(wèn)題。
當(dāng)時(shí)一共測(cè)試了2個(gè)虛擬機(jī),都是WinServer2008 X64 的,結(jié)果就是無(wú)法獲取到sessionkey。拋出異常為“檢索 COM 類(lèi)工廠(chǎng)中 CLSID 為 {79210E58-99EB-45D0-8890-763EFEAA143F} 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 80040154”。這個(gè)問(wèn)題煩了我好久,在網(wǎng)上也搜到了這個(gè)問(wèn)題,不過(guò)給的解決方案無(wú)效,于是發(fā)了E-Mail給騰訊通技術(shù),回復(fù)說(shuō)是RTX SDK dll是32位的,默認(rèn)VS采用ANY CPU編譯,如果這種模式編譯,在64位系統(tǒng)上會(huì)出現(xiàn)異常,可以改為X86編譯。
當(dāng)然最后我還是用的WinServer2003 X86的虛擬機(jī)解決問(wèn)題的。
問(wèn)題三:
解決方案是:
AppConnConfig.xml 添加服務(wù)器地址(本機(jī)地址)
<APIClient>
<IPLimit Enabled="1">
<IP>127.0.0.1</IP>
<IP>192.168.1.111</IP>
</IPLimit>
</APIClient>
添加后請(qǐng)切記重啟所有服務(wù)。
注意如果開(kāi)發(fā)過(guò)程中遇到Question請(qǐng)檢查一下三個(gè)Files:
AppConnConfig.xml、SDKProperty.xml、SDKServer.ini