RTX2007 SDK Java语言支持文档

更新时间:2023-05-24 14:42:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

腾讯通基于JAVA的开发

RTX2007 Server SDK Java语言开发指导

目 录

RTX2007 SERVER SDK JAVA语言开发指导 .................................................................................... 1

一、功能说明 .......................................................................................................................................... 2

二、配置环境 .......................................................................................................................................... 2

三、文件说明 .......................................................................................................................................... 3

四、开发向导(以JCREATOR为例) .................................................................................................... 3

五、接口说明 .......................................................................................................................................... 4

1.系统函数 ............................................................................................................................. 4

2.扩展函数 ............................................................................................................................. 6

六、RTX2007与RTX3.61 JAVA语言支持的差异 ........................................................................... 10

腾讯通基于JAVA的开发

一、功能说明

RTX2007 Java SDK 可以实现以下五大功能:

1. 部门用户管理(数据同步),可以对RTX服务器的部门及用户进行操作,通过该操作

可以实现从其他系统同步用户数据到RTX服务器。

2. 单点登录,登录OA或ERP时RTX客户端自动登录,不需要输入密码。

3. 待办事宜提醒,办公提醒,邮件到达提醒、公文到达提醒等。

4. 手机短信,向手机发送、接收短信,群发短信。

5. 状态推送,在网页上显示用户状态头像,并可以对在线用户发起会话。

二、配置环境

1. 在开发机器安装RTX2007 Server SDK包。

2. 进入Server SDK安装目录(默认路径:x:\Program Files\Tencent\RTXSSDK\),把

该目录下的dll文件及rtxServerApi.ini拷贝到系统的System32目录下

(RTX2007Beta2之后的RTX版本安装时已经自动拷贝到该目录下),如果在网页调用java接口,需要另拷贝一份到JDK的bin目录下。

3. 用记事本打开System32下的rtxServerApi.ini文件,把Host改为RTX服务器的

IP地址。

4. 进入RTX服务器安装目录下,用记事本打开SDKPorperty.xml文件,在里面增加开

发机器地址(如下图所示),保存后重启RTX服务。

5. 拷贝Java目录(默认路径:x:\Program Files\Tencent\RTXSSDK\Demo

Source\Server Sample\Java)下的RTXSvrApi.java及其他示例文件到您的工作目录下。

腾讯通基于JAVA的开发

三、文件说明

1. RTXSvrApi.java是一个类库,里面封装了很多方法,但没有main函数,因此该文件只能编译不能运行,主要是提供方法给外部调用。

2. RTXSvrApi.java 文件里面导入 SDKAPIJava.dll,该dll是在SDKAPIC.dll上面封装,SDK目录下的dll相互有联系,因此必须把这些dll拷贝到System32下,否则编译RTXSvrApi.java将出错,提示找不到SDKAPIC。

3. Java目录下的文件除了RTXSvrApi.java,其他的都是示例文件(请参看示例文件使用各种函数)。

4. RtxServerApi.ini 文件用于设置服务器的IP地址及端口。

5. SDKPorperty.xml 文件用于SDK访问RTX服务器权限管理,只有这个文件添加的IP才能访问RTX服务器。

四、开发向导(以JCreator为例)

1. 启动JCreator ,创建一个空白工程,把RTXSvrApi.java和您想调试的示例程序添加进来,如下图所示:

2. 例如把RTXSvrApi.java和AddDept.java添加进来,点击菜单Build-> Compile Poject,编译成功后按F5运行工程,即可看到添加部门结果,如下图所示:

腾讯通基于JAVA的开发

3. 进入RTX 用户管理器,就可以看到刚刚添加的部门,如下图所示:

五、接口说明

1.系统函数

语法:boolean Init() 功能:初始化类 参数:无 调用:Init() 说明:初始化RTXSvrApi,成功返回true,失败返回false 语法:void UnInit() 功能:析构类 参数:无 调用:Init() 说明:析构RTXSvrApi 语法:int GetNewObject(String szObjectName) 功能:获取一个业务对象句柄 参数:szObjectName 业务对象名称 调用:GetNewObject(OBJNAME_RTXSYS) 说明:调用成功返回一个业务对象句柄

腾讯通基于JAVA的开发

功能:获取属性集合句柄 参数:无 调用:GetNewPropertys() 说明:调用成功返回一个属性合集的柄 语法:int ReleaseHandle(int iHandle) 功能:释放句柄 参数:iHandle 句柄 调用:ReleaseHandle(iHandle) //iHandle是一个句柄 说明:调用成功释放句柄 语法:int AddProperty(int iPropertyHandle, String szName, String szValue) 功能:向属性集合添加属性 参数:iPropertyHandle属性集合句柄,szName属性名,szValue属性值 调用:AddProperty(iProp, KEY_USERNAME, UserName) 说明:调用成功向属性集合添加一个属性 语法:int GetPropertysCount(int iHandle) 功能:获取属性集合中属性总数 参数:iHandle属性集合句柄 调用:GetPropertysCount(iHandle) //iHandle为属性句柄 说明:调用成功返回属性集合中的属性总数 语法:int GetPropertysItem(int iHandle, int iIndex) 功能:通过索引获取属性集合中对应的属性 参数:iHandle属性集合句柄,iIndex索引值 调用:GetPropertysItem(iHandle, i) //iHandle为属性句柄,i为索引 说明:调用成功返回属性句柄 语法:int Call(int iObjectHandle, int iPropertyHandle, int iCmdID) 功能:调用SDK 参数:iObjectHandle业务对象句柄,iPropertyHandle属性集合句柄,iCmdID命令号 调用:Call(iObjectHandle, iPropertyHandle, iCmdID) 说明:调用成功返回一个结果句柄 语法:int GetResultPropertys(int iResultHandle) 功能:从结果句柄得到一个属性集合句柄 参数:iResultHandle结果句柄 调用:GetResultPropertys(int iResultHandle) 说明:调用成功返回属性集合句柄

腾讯通基于JAVA的开发

功能:获取一个属性的名称 参数:iHandle属性句柄 调用:GetPropertyItemName(iHandle) 说明:调用成功返回属性句柄对应的属性名 语法:String GetPropertyItemValue(int iHandle) 功能:获取一个属性的值 参数:iHandle属性句柄 调用:GetPropertyItemName(iHandle) 说明:调用成功返回属性句柄对应的属性值 语法:int GetResultInnerCode(int iHandle) 功能:获取内部错误代码 参数:iHandle返回结果句柄 调用:GetResultInnerCode(int iHandle) 说明:获取返回结果错误代码,返回0表示调用成功,返回其他表示出错 语法:String GetResultErrString(int iHandle) 功能:获取内部错误信息 参数:iHandle返回结果句柄 调用:GetResultInnerCode(iHandle) 说明:返回错误描述

2.扩展函数

// 配置文件操作

语法:void setServerIP(String strIP)

功能:设置服务器IP

参数:strIP 为RTX服务器IP地址

调用:setServerIP(“127.0.0.1”)

说明:调用成功将设置System32下rtxServerApi.ini的host为指定的IP 地址 语法:void setServerPort(int iPort)

功能:设置服务器端口

参数:iPort为RTX服务器SDK服务器端口,默认为6000

调用:setServerPort(6000)

说明:调用成功将设置System32下rtxServerApi.ini的Port为指定的端口

语法:String getServerIP()

功能:获取服务器地址

参数:无

调用:getServerIP()

腾讯通基于JAVA的开发

语法:void getServerPort()) 功能:设置服务器端口 参数:无 调用:getServerIP() 说明:调用成功将设置System32下rtxServerApi.ini的端口 // 部门数据操作 语法:int addDept(String deptId,String DetpInfo,String DeptName,String ParentDeptId ) 功能:添加部门

参数:deptId 部门ID、DetpInfo部门信息、DeptName部门名称、ParentDeptId父部门ID

调用:addDept (“1”,”测试部门信息”,”测试部门”,”0”)

说明:成功返回0,失败返回其他。

语法:setDept(String deptId,String DetpInfo,String DeptName,String ParentDeptId )

功能:修改部门

参数:deptId 部门ID、DetpInfo部门信息、DeptName部门名称、ParentDeptId父部门调用:setDept (“1”,”测试部门信息”,”财务部”,”0”)

说明:成功返回0,失败返回其他。

语法:deleteDept(String deptId,String type)

功能:删除部门

参数:deptId 部门ID、type删除类型(0为不删除部门下用户,1为删除部门下用户) 调用:deleteDept (“1”,”1”)

说明:成功返回0,失败返回其他。 ID

语法:int deptIsExist(String deptId) 功能:查看部门是否存在 参数:deptId 部门ID 调用:deleteDept (“1”) 说明:成功返回0,失败返回其他。 语法:String[] getDeptUsers(String DeptID) 功能:获取部门下用户 参数:deptId 部门ID 调用:getDeptUsers (“1”) 说明:成功返回String[]的用户数组,失败返回null。 语法:String[]getChildDepts(String DeptID) 功能:获取子部门列表

腾讯通基于JAVA的开发

调用:getChildDepts (“0”) 说明:成功返回String[]的子部门ID数组,失败返回null。

//用户数据操作

语法:int addUser(String UserName, String DeptID, String ChsName, String Pwd ) 功能:添加用户

参数:UserName用户帐号、DeptID部门ID、ChsName用户姓名、ChsName密码 调用:addUser(“herolin”, “1”, “林坚华”, “123” )

说明:返回0 表示成功,其他表示失败

语法:int deleteUser(String UserName)

功能:删除用户

参数:UserName用户帐号

调用:deleteUser (“herolin”)

说明:返回0 表示成功,其他表示失败

语法:int userIsExist (String UserName)

功能:查看用户是否存在

参数:UserName用户帐号

调用:userIsExist (“herolin”)

说明:成功返回0,失败返回其他。

语法:String[][] GetUserSimpleInfo(String UserName)

功能:查看用户简单资料

参数:UserName用户帐号

调用:GetUserSimpleInfo (“herolin” )

说明:调用成功返回一个String类型的二维数组,失败返回null

语法:int SetUserSimpleInfo(String UserName,String ChsName,String email,String gender,String mobile,String phone,String pwd)

功能:设置用户简单资料

参数:UserName用户帐号、ChsName用户姓名、email邮箱地址、gender性别、mobile手机、pwd密码

调用:SetUserSimpleInfo(“herolin”, “林坚华”,

“sdksupport@”,”0”,”135101435x”, “0755-83765566-4”, “123”)

说明:成功返回0,失败返回其他。

语法:String[][]GetUserDetailInfo (String UserName)

功能:查看用户详细资料

参数:UserName用户帐号

调用:GetUserDetailInfo (“herolin” )

说明:调用成功返回一个String类型的二维数组,失败返回null

腾讯通基于JAVA的开发

语法:int setUserDetailInfo(String UserName,String ADDRESS,String AGE,String BIRTHDAY, String BLOODTYPE,String CITY,String COLLAGE,String

CONSTELLATION,String COUNTRY,String FAX, String HOMEPAGE,String MEMO,String POSITION,String POSTCODE,String PROVINCE,String STREET, String PHONE,String MOBILE)

功能:设置用户详细资料

参数:UserName用户帐号、ADDRESS地址、AGE年龄、BIRTHDAY生日、BLOODTYPE血型、CITY城市、COLLAGE大学、CONSTELLATION星座、COUNTRY国家、FAX传真、HOMEPAGE个人主页、MEMO个人说明、POSITION职位、PROVINCE省份、STREET街道、PHONE电话、MOBILE手机

调用:setUserDetailInfo(“herolin”, “深圳市xx街道”, “23”, “19840201”, “1”,”深圳”, “深大”, “9”, “中国”, “0755-83765566-9”, “”, “没有个人说明”, “员工”, “510650”, “广东省”, “xx街”, “0755-83765566-4”, “1351014353x”)

说明:成功返回0,失败返回其他。

//SessionKey操作

语法:String getSessionKey(String UserName)

功能:获取SessionKey

参数:UserName用户帐号

调用:getSessionKey (“herolin”)

说明:成功返回String类型的SessionKey,失败返回null。

//消息提醒

语法:int sendNotify(String receivers,String title,String msg, String type,String delayTime) 功能:发送消息提醒

参数:receivers接收者、title标题、msg信息内容、type消息类型、delayTime显示时间 调用:sendNotify (“herolin”,”公司公文”,”xx同事升级xx部门总经理”,”0”,”0”) 说明:成功返回0,失败返回其他。

//发送短信

语法:int sendSms(String sender, String receiver, String smsInfo,int autoCut, int noTitle) 功能:发送手机短信

参数:sender发送者、receiver接收者、smsInfo短信内容、autoCut是否自动拆分、noTitle是否有标题

调用:sendSms(“herolin”, “13510143531”, “SDK短信测试”, “1”, “0”)

说明:成功返回0,失败返回其他。

//导入导出用户数据

语法:int exportXmldata ()

功能:导出RTX用户数据为xml

参数:无

调用:exportXmldata ()

说明:成功返回String类弄的xml字符串,失败返回null。

腾讯通基于JAVA的开发

语法:int importXmldata(String xmldata) 功能:导入xml用户数据到RTX服务器 参数:xmldata xml格式用户数据 调用:importXmldata(xmldata) //xmldata 为xml格式的RTX用户数据 说明:成功返回String类弄的xml字符串,失败返回null。 //查看用户在线状态 语法:int QueryUserState(String UserName) 功能:查看用户状态 参数:UserName用户帐号 调用:QueryUserState(“herolin”) 说明:返回0 离线、1在线、2离开、-984用户不存在,其他表示调用失败

六、RTX2007与RTX3.61 Java语言支持的差异

1. RTX2007支持一个用户所属多个部门, 因此有可能出现用户所属部门ID为两个以

上,所以通过SDK查看用户简单资料时,返回DeptID带有 “;”,主要用于区分多个部门ID。

2. RTX 2007 Server强加了SDK访问安性,因此通过http方式访问cgi文件需要在

SDKProperty.xml添加远程访问机器的IP地址,如下图所示,允许192.168.10.100通过http方式访问cgi文件。

3. 在RTX3.61一般通过UIN(RTX号码)操作用户,RTX2007不支持UIN操作用户。

建议替代方案:通过用户名(RTX帐号)进行操作。

4. RTX3.61可以通过GetResultCode(int iHandle) 获取SDK调用返回结果,RTX2007

已经不支持该命令。

建议替代方案:请用GetResultInnerCode(int iHandle)替代

腾讯通基于JAVA的开发

5. RTX3.61可以通过GetResultString(int iResultHandle) 获取返回结果的描述,

RTX2007已经不支持该命令。

建议替代方案:请用GetResultErrString(int iHandle)替代

6. RTX2007 Server SDK 不支持发送IM消息。

建议替代方案:通过发送消息提醒来代替IM消息。

7. RTX2007 Server SDK 不支持用户名与uin转换。

建议替代方案:通过查看用户简单资料实现。

8. RTX2007 Server SDK 不支持导入txt格式的用户数据。

建议替代方案:通过导入xml接口实现。

9. 2007已经去掉查看部门资料接口。

建议替代方案:查看部门资料这个接口实际上没有什么用,主要用于判断部门是否存在。在2007如果判断部门是否存在,先添加一个部门,如果提示存在,则该部门已存在;如果添加成功,表示这个部门不存在,然后把刚添加的部门删除。

本文来源:https://www.bwwdw.com/article/0yv4.html

Top