日前,金蝶项目中需要使用eas集成rtx,但是考虑到eas是服务器是在linux上面,而我们的rtx的dll是不支持这个linux环境的。
我的做法是:写一个web项目放在一个单独的服务器上,此项目主要是跟rtx的服务器集成,可以在这web项目上调用rtx服务器发送消息
第二步是eas通过http请求访问web项目,然后发送消息。这样即使你的eas服务器是linux环境也是可以发送rtx消息的。
不罗嗦,上干货
1.RTXSvrApi.java 必须要在src/rtx/路径下
2.调用代码
int iRet= -1;
RTXSvrApi RtxsvrapiObj = new RTXSvrApi(); //RTX提供的API
if(RtxsvrapiObj.Init()){
RtxsvrapiObj.setServerIP("192.168.2.182"); //设置RTX服务器IP地址
RtxsvrapiObj.setServerPort(6000); //设置RTX服务器端口
String szKey = RtxsvrapiObj.getSessionKey("dong");//dong是你的rtx名字 如果发送多个中间用";"隔开
logger.info("SessionKey:" + szKey);
//API中的消息发送 功能 0:操作成功 非0:操作不成功
iRet = RtxsvrapiObj.sendNotify("dong","测试rtx消息","测试:你有工作流需要审批!请查看地址:http://www.baidu.com", "0","0");
}
if (iRet == 0){
MsgBox.showInfo("发送成功");
}else{
MsgBox.showInfo("发送失败");
}
RtxsvrapiObj.UnInit();
3.要在rtx服务器上找到文件 C:\Program Files (x86)\Tencent\RTXServer\SDKProperty.xml
增加一个ip地址 允许其访问。不然服务器的拒绝访问的
<Property>
<APIClient>
<IPLimit Enabled="1">
<IP>127.0.0.1</IP>
<IP>web服务器ip</IP>
</IPLimit>
</APIClient>
<sdkhttp>
<IPLimit Enabled="1">
<IP>web服务器ip</IP>
</IPLimit>
</sdkhttp>
</Property>
第一次玩这个csdn 不知道上传附件。。醉了!!!!
用到的rtxapi类应该可以百度下载得到。剩下的dll是要放入你的system32里面。
因为有些windows的操作系统不同,导致有些dll没有,那么我就要用到这里的dll依赖查看工具,可以通过sdkapijava 然后查看得到你
当前系统还有那些dll未存在,从而下载下来放入system32里面即可.