统一通信平台接口Word文档格式.docx
《统一通信平台接口Word文档格式.docx》由会员分享,可在线阅读,更多相关《统一通信平台接口Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
![统一通信平台接口Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/2/7897db8e-88f0-4a25-852c-8401d73d06bd/7897db8e-88f0-4a25-852c-8401d73d06bd1.gif)
采用webservice和xmpp相结合的方式处理ucstarserver对外接口,并提供了相应的java代码示例。
用webservice接口进行访问控制
2业务逻辑WebService接口
http:
//localhost:
9090/services/UcstarWebservice?
wsdl
(请把localhost改成您的ucstart服务器所在的IP或者域名地址)
2.2Webserivce调用说明
2.2.1基本资源文件
●资源文件:
ucstarserver_webservice.jar包
●JAVA工程:
prj_webservice_jar
●环境要求:
JDK1.4以上
注:
webservice接口目前只是提供了JAVA的例子程序,如需要C++、PHP、C#等调用方式,请联系我公司配合完成。
●进入管理后台打开webservice接口
●
●将ucstarserver_webservice.jar包添加到工程中
●将工程prj_webservice_jar中的测试代码添加到java工程中
●修改测试程序TestWebserviceGetUser:
修改其中的connect中的地址,改成真实的ucstar服务器地址。
运行测试程序,如果能正确打印“测试成功:
admin”,则说明webservice建立成功。
测试程序:
TestWebserviceGetUser.java
packageqflag.ucstar.test;
importqflag.ucstar.WebInterface.WebserviceManager;
importqflag.ucstar.webservice.bean.UcstarUser;
/**
*获取用户信息
*@authorpolarbear2009-3-24
*/
publicclassTestWebserviceGetUser{
publicstaticvoidmain(String[]args){
try{
//连接webservice服务地址
WebserviceManager.getInstance().connect("
//210.77.82.42:
WSDL"
);
//调用webservice接口获取用户信息
UcstarUseruser=WebserviceManager.getInstance().getWebservice().getUser("
admin"
//输出用户姓名
System.out.println("
测试成功:
"
+user.getUsername());
}catch(Exceptione){
e.printStackTrace();
}
}
}
2.3.1.1.1查询该用户的详情资料
getUser
publicUcstarUsergetUser(java.lang.StringuserName)
参数:
userName-用户帐号
返回:
返回用户对象
2.3.1.1.2查询用户状态
getUserState
publicUcstarUserStategetUserState(java.lang.StringuserName)
返回用户状态对象
2.3.1.1.3添加用户资料
addUser
publicintaddUser(UcstarUseruser)
user(UcstarUser-用户对象)
返回参数:
0添加成功注意:
如UcstarUser中部门id没填,则默认部门id为0
1添加失败因:
账号为空或用户名为空2添加失败因:
已有用户存在3添加失败因:
部门ID在部门表中不存在
2.3.1.1.4修改用户资料
updateUser
publicintupdateUser(UcstarUseruser)
_user-用户对象
20修改成功
21修改失败因该用户不存在
22修改失败因部门ID不存在
2.3.1.1.5删除该用户
deleteUser
publicintdeleteUser(java.lang.StringuserName)
40删除成功
41删除失败(因:
没有该用户)
2.3.1.1.6根据用户账号修改密码
updateUserPasswordStrict
publicintupdateUserPasswordStrict(java.lang.Stringusername,
java.lang.Stringoldpassword,
java.lang.Stringnewpassword)
username-用户帐号
oldpassword-用户原有密码
newpassword-用户的新密码
int,20修改成功
2.3.1.1.7根据用户账号查姓名
getName
publicjava.lang.StringgetName(java.lang.String_userName)
_userName-用户帐号
返回用户姓名
2.3.1.1.8根据部门账号获取用户列表
getUserList
publicUcstarUser[]getUserList(java.lang.Stringdeptid)
deptid-部门ID
用户列表数组
2.3.1.1.9获取所有在线用户数量
getAllOnlineCount
publicintgetAllOnlineCount()
在线用户数量
2.3.1.1.10获取用户email列表
getEmails
publicjava.lang.StringgetEmails(java.lang.StringuserIds,
java.lang.StringdeptarIds,
java.lang.StringbindIds)
userIds-用户ID(多用户用逗号隔开)
deptIds-部门ID(多部门用逗号隔开)
bindIds-群组ID(多群组用逗号隔开)
返回Email列表(逗号隔开)
2.3.1.1.11验证用户名和密码
authUser
publicintauthUser(java.lang.Stringusername,
java.lang.Stringpassword)
password-用户密码
1:
正确0:
错误
2.3.1.1.12验证session的正确性
authSession
publicintauthSession(java.lang.String_sessionId)
_sessionId-单点登陆获取的sessionid
1:
正确,0:
不正确
2.3.1.2.1查询部门的详细信息
getDepartInfo
publicUcstarDeptgetDepartInfo(java.lang.Stringdeptid)
departId-String部门ID
UcstarDept返回部门对象
2.3.1.2.2添加部门
addDept
publicintaddDept(UcstarDeptdeptInfo)
deptInfo-部门对象
0增加成功
4增加失败因:
部门已存在
5增加失败因:
(因:
父部门不存在)
6增加失败因:
传入的对象UcstarDept对象为空或里面数据为空
2.3.1.2.3更新部门信息
updateDept
publicintupdateDept(UcstarDeptdeptInfo)
23修改失败因:
所要修改的部门不存在
2.3.1.2.4删除部门
deleteDept
publicintdeleteDept(java.lang.Stringdeptid,
java.lang.Stringcompletedelete)
部门id-
0:
不删除子部门-1:
删除子部门
42删除失败表中不存在要删除的部门Id
43删除失败参数completedelete没有传值
2.3.1.2.5根据部门获取子部门列表
getDeptList
publicUcstarDept[]getDeptList(java.lang.Stringdeptid)
返回下级部门列表数组
2.3.1.2.6根据部门名称查找部门
searchDeptByName
publicUcstarDept[]searchDeptByName(java.lang.StringdeptName)
deptName-部门名称
部门对象列表
2.3.1.2.7删除部门中的用户(关系)
deleteDepartUser
publicvoiddeleteDepartUser(java.lang.String_departuri,
java.lang.String[]_useruris)
_departuri–部门ID
_useruris–用户帐号组成的数组
2.3.1.2.8给部门中添加用户(关系)
addDepartUser
publicvoidaddDepartUser(java.lang.String_departuri,
2.3.1.3.1查看群组
getBindGroupInfo
publicUcstarBindGroupgetBindGroupInfo(java.lang.Stringbindgroupid)
bindgroupid-群组ID
返回群组对象
2.3.1.3.2增加群组
addBindGroup
publicintaddBindGroup(UcstarBindGroupbindGroup)
bindGroup-群组对象
群组已存在
传入的对象UcstarBindGroup对象为空或里面数据为空
2.3.1.3.3删除群组
deleteBindGroup
publicintdeleteBindGroup(java.lang.Stringbindgroup_id)
bindgroup_id-群组ID
42删除失败表中不存在要删除的群组Id,或者bindgroupid为空
2.3.1.3.4修改群组
updateBindGroup
publicintupdateBindGroup(UcstarBindGroup_bindgroup)
_bindgroup-群组对象
23修改失败因:
所要修改的群组不存在
24修改失败因:
所要修改的群组名不能为空
2.3.1.3.5向群组中添加用户
addUserToBindGroup
publicintaddUserToBindGroup(java.lang.String_bindgroup_id,
java.lang.String_user_ids,
boolean_administrator)
_bindgroup_id-群组ID
_user_ids-用户列表,用逗号隔开
_administrator-是否是管理员(true/false)
7增加失败该群组不存在
8增加失败所要添加的用户账号本身不存在
2.3.1.3.6获取群组下的用户
getUsersByBindGoup
publicUcstarUser[]getUsersByBindGoup(java.lang.StringbindGroupId)
bindGroupId-群组ID
返回用户列表数组
2.3.1.3.7获取群组中的人员列表
getBindGroupUserNames
publicjava.lang.String[]getBindGroupUserNames(java.lang.String_bgId)
_bgId–群组ID
群组下面的用户帐号数组
2.3.1.3.8删除群组中指定的用户
deleteUsersFromBindGroup
publicintdeleteUsersFromBindGroup(java.lang.Stringbindgroup_id,
java.lang.String_user_ids)
bindgroup_id-
_user_ids-可以为多用户,但必需用逗号隔开。
如"
1001,1002,1003"
44删除失败因:
所要删除的用户不存在
45删除失败因:
所要删除用户的那个群组不存在
2.3.1.3.9删除该群组下的所有用户
deleteAllUsersFromBindGroup
publicintdeleteAllUsersFromBindGroup(java.lang.Stringbindgroup_id)
删除该群组下的所有用户
2.3.1.3.10修改群组中用户的管理状态
updataUserfromBindGroup
publicintupdataUserfromBindGroup(java.lang.String_bindgroup_id,
java.lang.String_user_id,
_user_id-用户ID
_administrator-是否是管理员
所要修改用户的那个群组不存在
2.3.1.3.11根据父群组ID获取子群组列表
getBindGroups
publicUcstarBindGroup[]getBindGroups(java.lang.String_pbgId)
_pbgId–父群组ID
返回:
群组数组
2.3.1.4.1发送消息
sendMsg
publicvoidsendMsg(java.lang.Stringusername,
java.lang.Stringdeptid,
java.lang.Stringcontent)
username-接收者帐号,多帐号用逗号隔开
deptid-接收部门ID,多部门用逗号隔开
content-发送内容
2.3.1.4.2发送消息2
sendMessage
publicintsendMessage(UcstarMessage_msg)
_msg-消息对象
返回成功或者失败:
成功其他:
失败
2.3.1.4.3广播消息
对所有的用户进行广播statue=0;
广播所有在线用户statue=1;
广播所有用户(包括离线用户)
broadcastMessageAll
publicvoidbroadcastMessageAll(java.lang.Stringmessage,
intstatue)
message-消息内容
type-消息类型
发送给所有在线用户
发送给所有用户
2.3.1.4.4指定广播
发送广播给指定用户、部门、群组
broadcastMessage
publicvoidbroadcastMessage(java.lang.Stringmessage,
java.lang.StringuserIds,
java.lang.StringdeptIds,
java.lang.StringbindGroupIds,
bindGroupIds-群组ID(多群组用逗号隔开)
statue-状态:
0:
发送给在线用户1:
发送给在线和离线用户
2.3.1.4.5广播web内容
客户端弹出类似QQ新闻的内容
broadcastWebApp
publicvoidbroadcastWebApp(java.lang.Stringtitle,
java.lang.Stringcontent,
java.lang.Stringurl,
inttype,
intstatue,
java.lang.Stringcreater)
title-弹出框标题
content-内容
url-内容对应的URL显示
type-类型:
statue-状态
2.3.1.4.6发送消息给插件服务
sendPluginPacket
publicvoidsendPluginPacket(java.lang.Stringservice,
java.lang.Stringsender,
service-插件服务名称,例如短信的是(SMS)
content-发送协议的内容
2.3.1.4.7发送短信
sendSms
publicjava.lang.StringsendSms(UcstarSMSsmsParam)
smsParam-
返回状态
0;
//发送失败
1;
//发送成功
2;
//正在发送,请等待结果
3;
//未知
4;
//发送失败,你的余额已不多,请尽快冲值
5;
//发送失败,你的余额已不足
6;
//发送失败,信息中包含敏感字符
7;
//发送失败,你无权发送短信
8;
//发送失败,网络传输错误
9;
//发送失败,信息内容长度超过允许范围
10;
//发送失败,你今天的短信数量已经用完
11;
//发送失败,你的帐户中已经没有剩余短信
12;
//发送失败,接收方号码有误
13;
//短信网关未启动
14;
//发送失几,短信数据数量已用完
2.3.1.5其他接口
2.3.1.5.1清空所有组织架构
清空数据库和缓存中的组织架构信息(用户和部门)
deleteAllOrg
publicvoiddeleteAllOrg()
2.3.1.5.2刷新组织架构缓冲,刷新缓存
refreshOrg
publicvoidrefreshOrg()
详细请参看JAVA的API说明:
ucstarserver_webservice_api\webservice\index.html
2.3.1.5.3得到部门下用户状态
根据部门ID得到部门下用户状态,flag=true:
子部门用户状态也取出来polarbear2008-12-25
getUserStateByDept
publicUCUserStateExt[]getUserStateByDept(java.lang.Stringdeptids,
booleanflag)
deptids–部门列表
flag–是否包含下级部门
用户状态列表
2.3.1.5.4根据用户名返回其中在线用户状
getUserStateByUserIds
publicUCUserStateExt[]getUserStateByUserIds(java.lang.Stringusernames)
usernames–用户帐号列表