1、Web系统集成rtx工具 (Java) 1.1.1 集成步骤: 1.1.1.1 Rtx 服务安装配置 1. 安装rtx 服务器。 2. 启动RTX_ConfigCenter 配置服务 以及 RTX_HTTPServer 服务 3、安装完成后,启动RTX服务端程序。此时客户端还无法登录,需要对服务器端进行配置。进行系统后,如下图,按配置向导进行配置。 4、设置超级管理员密码:安全起见,首先配置服务器端的超级管理员的登录密码,如下图所示。 5. 如果你还没有申请License,可以按此界面的引导进行申请。 如果你的License已经申请成功,点击页面的“导入Lice
2、nse文件”进行后续操作。 1.1.1.2 配置开发环境 1. 在开发机器安装RTX2013 Server SDK包。 2. 进入Server SDK安装目录(默认路径:x:\Program Files\Tencent\RTXSSDK\),把该目录下的dll文件及rtxServerApi.ini拷贝到系统的System32目录下(RTX2008Beta2之后的RTX版本安装时已经自动拷贝到该目录下),如果在网页调用java接口,需要另拷贝一份到JDK的bin目录下。 3. 进入RTX服务器安装目录下,用记事本打开SDKPorperty.xml文件,在里面增加开发机器地址(如下图
3、所示),保存后重启RTX服务。 4. 拷贝Java目录(默认路径:x:\Program Files\Tencent\RTXSSDK\Demo Source\Server Sample\Java)下的RTXSvrApi.java及其他示例文件到您的工作目录下。注意:RTXSvrApi.java只能放进rtx下,rtx 不能有父package,否则会报错。Web系统服务器必须安装Server SDK包,并配置好访问限制。如果web系统服务器不是Windows平台,请通过Url的方式集成。 5. RTX Server强加了SDK访问安性,因此通过http方式访问cgi文件需要在SDKPro
4、perty.xml添加远程访问机器的IP地址,如下图所示,允许192.168.10.100通过http方式访问cgi文件。 1.1.1.3 功能集成事例 1.1.1.3.1 单点登陆 流程步骤: 1、 用户打开IE登录web系统,输入用户名及密码之后点击登录。 2、 此时web系统服务器收到IE发过来的登录请求,对该用户进行身份验证。 3、 如果验证通过,调用Server SDK 获取SessionKey接口获取该用户的SessionKey。 SessionKey 获得方式: A、URL访问: http://127.0.0.1:8012/GetSession.cgi
5、receiver=" + strUser URL 说明: ip 为 rtx 服务器安装机ip , receiver 参数为rtx用户账号。 Java 获得SessionKey代码: public String getSessionKey(String strUser) { String strSessionKey = ""; String strURL = "http://127.0.0.1:8012/GetSession.cgi?receiver=" + strUser; try { .URL url = ne
6、w URL(strURL); HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream())); strSessionKey=reader.readLine(); }catch(Exception e){ System.out
7、println("系统出错"+e); } return strSessionKey; } B:通过RTXSvrApi 中 getSessionKey(String userName)方法获得。userName 参数为rtx用户账号。 4、web系统服务器把该用户的SessionKey返回给浏览器 5、用户成功登录web系统,同时调用客户端SessionKey登录的脚本登录RTX。 页面登陆rtx 客户端 代码: 1. 页面需要首先引入下面 object 标签 1、 具体登陆登陆rtx jsp 代码 function loginRtx(){ try{ if(strSessionKey!=""){ var ip="127.0.0.1";// rtx 服务器ip var objProp = RTXAX.GetObject("Property"); objProp.value("RTXUsername") = username;// 用户账号 objP
9、rop.value("LoginSessionKey") =strSessionKey;//该账号对应的 key objProp.value("ServerAddress") = ip; //RTX Server IP地址 objProp.value("ServerPort") = 8000; RTXAX.Call(2,objProp); //2表示通过SessionKey登录 } }catch(e){ } } 注意,rtx只支持ie浏览器。 1.1.1.3.2
10、反向登陆 当用户登陆rtx 客户端后,在访问web系统后直接登陆web系统。 步骤流程: 1、 用户打开web系统登陆界面时,页面脚本获得本机rtx登陆账号。 Jsp获得rtx 登陆账号代码: 页面引入以下标签。 Jsp 代码 window.onload = function(){ try{ // 获得 rtx 客户端 登陆账号和 签名
11、 var objKernalRoot = RTXAX.GetObject("KernalRoot"); var objRtcData = objKernalRoot.Sign; var strAccount = objKernalRoot.Account;// 账号 var strSgin = objRtcData.GetString("Sign");// 签名 if(strAccount != "" && strAccount.length >0 &
12、 strSgin != "" && strSgin.length >0 ){ // 将用户和签名发送给 服务器 验证 是否正确 $("#addBtn").remove(); $("#loginUser").text("欢迎使用rtx登陆:" + strAccount); } }catch(e){ } } 2.把账号和签名发送给web系统服务器。 3. web系统服务器调用rtx 服务器接口 验证账号和标签。
13、 Java 调用rtx http 接口验证账号和签名工具代码: public static boolean userSignAuth(String strUser,String sign) { boolean success = false; String strURL = "http://127.0.0.1:8012/SignAuth.cgi?user="+strUser+"&sign=" + sign; try{ .URL url = new URL(strURL); HttpURL
14、Connection httpConnection = (HttpURLConnection)url.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream())); String s =reader.readLine(); if(s!=null && s.equals("success!")){ success =
15、 true; } } catch(Exception e) { System.out.println("系统出错"+e); } return success; } 如果验证成果 返回 true 1.1.1.3.3 部门同步 Rtx 对部门的操作没有http 接口,只能通过RTXSvrApi.java 中接口对rtx 服务器中部门进行操作。 具体接口请查看 RTXSvrApi。 1.1.1.3.4 用户同步 Rtx 对用户的操作没有http 接口,只能通过R
16、TXSvrApi.java 中接口对rtx 服务器中用户进行操作。
具体接口请查看 RTXSvrApi。
1.1.1.3.5 用户状态感知
步骤流程:
1. 把服务器端安装目录下Webroot目录下的image和js两个文件夹拷进拷贝到您的Web应用工作目录下.
2. 在Web应用中引用这两个Js文件。
language="JScript.Encode" src="js/browinfo.js">
language="JScript.Encode" src="js/rtxint.js">
3. 在页面嵌入下面 标签代码
注意 RAP('share'); 中参数为 rtx 用户账号。






