RTX Server SDK跨服务器

WAGNZHENG2 2020-06-11 07:01:59
  反向单点登录RTX,即通过腾讯通登录到其他的系统,登录腾讯通后其他的系统不用输入用户名和密码即可登录。可能有二种情况。腾讯通和其他系统在同一台服务器上或在不同的服务器上。要调用腾讯通的登录验证接口的系统必须安装RTX Server SDK(rtx服务器安装的是2013版本,rtx server sdk安装的是2015版本)。项目引用sdk安装目录下的“APIObject.dll”文件。

  环境:

  RTX服务器端版本是2013,机器名为”A机器“,IP为”192.168.0.88“

  步骤一:安装Rtx Server sdk

  在需要调用RTX接口的机器上安装Rtx Server SDK,这里提供的是RTX2015的接口 rtxserversdk2015formal.zip,亲测过可用

  步骤二:修改RTX服务器的配置,添加IP和端口的白名单

  1>开发环境和RTX服务器在同一台机器上,即RTX Server SDK和RTX服务器在同一台机器上

  以下是官方代码,是开发环境和RTX服务器在同一台机器上的情况。

复制代码
  1 string strName = HttpContext.Current.Request.QueryString["user"];

  2 string strSign = HttpContext.Current.Request.QueryString["sign"];

  3

  4

  5 RTXSAPILib.IRTXSAPIRootObj RootObj = new RTXSAPILib.RTXSAPIRootObjClass();

  6 RTXSAPILib.IRTXSAPIUserAuthObj2 AuthObj2 = (RTXSAPILib.IRTXSAPIUserAuthObj2)RootObj.UserAuthObj;

  7

  8 Response.Write(strName);

  9 Response.Write(strSign);

  10

  11 bool bOK = AuthObj2.SignatureAuth(strName, strSign);

  12

  13 if (bOK == true)

  14 {

  15 Response.Redirect("OA.html");

  16 }

  17 else

  18 {

  19 Response.Redirect("error.html");

  20 }

复制代码
  2>开发环境和RTX服务器在不同机器上,即RTX Server SDK和RTX服务器安装在不同机器上

  RTX Server SDK:A机器,IP为192.168.0.88

  RTX服务器:B机器,IP为192.168.0.120

  2.1>A机器,修改sdk的配置

  打开Tencent/RtxSSDK/RtxServerApi.ini文件,修改Host为B机器的IP

  [Common]

  Host=192.168.0.120

  Port=6000

  2.1>B机器,修改Rtx服务器的配置文件

  第一,修改代码,只需对官方代码稍作修改,指定RTX服务的ip和端口;

  第二,修改RTX服务器端配置,默认RTX 服务器只允许本机调用SDK,如果其他的机器需要调用,必须修改RTX 服务器安装目录的以下2个文件

  SDKproperty.xml文件,添加节点192.168.0.88

复制代码
  

  

  127.0.0.1

  192.168.0.88

  

  

复制代码
  AppConnConfig.xml文件:添加节点192.168.0.88

复制代码
  

  

  127.0.0.1

  192.168.0.88

  

  

复制代码
  第三,重启RTX服务器让配置生效。

复制代码
  1 string strName = HttpContext.Current.Request.QueryString["user"];

  2 string strSign = HttpContext.Current.Request.QueryString["sign"];

  3

  4

  5 RTXSAPILib.IRTXSAPIRootObj RootObj = new RTXSAPILib.RTXSAPIRootObjClass();

  6 RTXSAPILib.IRTXSAPIUserAuthObj2 AuthObj2 = (RTXSAPILib.IRTXSAPIUserAuthObj2)RootObj.UserAuthObj;

  7

  8 Response.Write(strName);

  9 Response.Write(strSign);

  10

  11 RootObj.ServerIP = "192.168.0.88";

  12 RootObj.ServerPort = 8006;

  13 bool bOK = AuthObj2.SignatureAuth(strName, strSign);

  14

  15 if (bOK == true)

  16 {

  17 Response.Redirect("OA.html");

  18 }

  19 else

  20 {

  21 Response.Redirect("error.html");

  22 }

复制代码
  步骤三:开启8006端口

  sdk需要调用8006端口,在命令行telnet看看端口是否打开

1 telnet 192.168.0.88 8006

  如果端口没有打开,则通过下面步骤打开8006端口

  windwos防火墙>高级设置>入站规则>新建规则

  首先,打开电脑的控制面板,然后在控制面板中找到防火墙;

如何打开端口
  在防火墙设置左边选择点击高级设置;

如何打开端口
  高级安全设置中,我们点击选择左边的入站规则;

如何打开端口
  在右侧栏选择点击新建规则;

如何打开端口
  规则类型选择端口类型;

如何打开端口
  选择tcp协议,特定端口,端口自己规定,比如4444;

如何打开端口
  操作策略选择允许连接;

如何打开端口
  何时应用规则,默认全选;

如何打开端口
  端口名称和描述,自拟;

如何打开端口
  退出之后,我们就看到创建的入站规则,该端口允许。

如何打开端口
  步骤四:WCF发布到IIS

  RTX的接口是都32位的,现在的机器基本是64位,在vs中调试接口不报错,但是发布到iis就报错。

  解决方法:将接口封装成wcf发布到iis,Interop.RTXSAPILib.dll这个是32位的 将IIS 应用程序池 启用32位应用程序 设置为true就可以了
...全文
473 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
临世驻年 2020-07-16
  • 打赏
  • 举报
回复
。。。。。。。这是提问的地方
1.实现OA事务提醒信息直接到RTX系统提醒。 2.RTX点击消息提醒“查看详情”直接打开OA相应界面。 3.集成安装主要在服务器端实施,客户端不需要安装插件、设置OA网站、登陆用户名、密码,基本零设置直接实现集成。 本帖修正本 《OA-RTX事务提醒集成插件(2011测试通过)》的所有问题,通达2013、RTX2012测试完美通过。解决的问题如下: 1. 修正 找不到“RTX事务提醒设置”的问题 2. 修正 错误#1136: Column count doesn't match value count at row 1 SQL语句: INSERT INTO `sys_function` VALUES ('1003', 'z0R2', 'RTX事务提醒设置', 'system/rtx_sms') 问题 3. 修正RTX 的OA面板出现“用户名及密码错误”的问题,很多人到现在都不能解决 一【统一用户名】 1.现将OA部门用户信息在通达oa2013里添加完毕)(用户名等信息等)。 2.通达oa系统管理-组织结构管理-用户管理:选择导出RTX格式。 3.打开腾讯通RTX管理器,导入用户信息(后期增加的用户oa及rtx两边个增加一次确保用户名一致即可)。 二【RTX修改】 1.RTXSERVER安装目录下找到AppConnConfig文件用记事本打开,加入OA服务器IP地址 2.运行RTX管理器,进入"系统工具"-"客户端面板定制",添加新面板,面板对应网址设置为 http://OA域名:端口/ispirit/rtx_sign.php?c5f6vCqiVY43be9LzdBuwiztGdtHrWh6S0P9vYt3Y74edjWrXlArQPCG8lrM3qQ 3.重启RTX所有服务 三【oa修改】 1..通达OA服务器设置:下载安装RTX2012SDK rtxserver2012formal.exe 到OA服务器. 2. OA目录下找到inc\utility_sms1.php,改名为utility_sms1_original.php 3. 下载本帖新的修正附件,解压缩覆盖webroot文件夹 4. 打开OA登陆界面,点击升级。 5. 管理员账号登陆OA,进入“系统设置”-“系统接口设置”,添加一个接口用户,插件默认接口用户设置为rtx/rtx,(可以自己设置) (*重要的一步) 6.重启通达oa”通达应用服务控制中心“所有服务 (*重要一步) 7.进入“系统设置”-"RTX事务提醒设置" 设置好RTX服务器IP、 RTX服务器的IP地址等即可 6.重启通达oa”通达应用服务控制中心“所有服务

5,006

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧