人力资源HrmServiceWebService接口使用说明.docx
《人力资源HrmServiceWebService接口使用说明.docx》由会员分享,可在线阅读,更多相关《人力资源HrmServiceWebService接口使用说明.docx(23页珍藏版)》请在冰点文库上搜索。
人力资源HrmServiceWebService接口使用说明
文档版本历史
变更序号
日期
版本
文件变更
申请编号
变更说明
修改人
1
2011年8月26日
V1.0
无
新文件
胡伟武
一、前言
1.1编写目的
本文给有研发能力的客户或有系统集成需求的客户提供webservice接口调用的参考例程。
本文的面向具有一定webservice开发能力或了解webservice技术的开发人员。
1.2名词定义
1、Axis:
著名的开源webservice引擎。
2、外部系统:
指调用或实现e-cology输入输出接口,与e-cology系统进行数据交接的其他系统。
二、接口调用步骤
2.1检查webservice是否已部署
在浏览器中输入http:
//ecologyServer/services,应显示如下页面:
如果未出先上述页面,则webservice未部署成功,请与泛微项目人员联系。
接口部署成功之后,需要在OA的HrmWebserviceIP.properties配置文件中配置调用接口客户端的IP,调用接口时传入的参数ip包涵在此配置文件才能调用以下接口。
2.2接口方法概述
名称
参数
返回值
功能描述
SynSubCompany
Stringipaddress:
调用接口的IP地址,StringxmlData:
分部信息的xml
成功:
1,失败:
0,2:
无权限调用
同步分部信息
SynDepartment
Stringipaddress:
调用接口的IP地址,StringxmlData:
部门信息的xml
成功:
1,失败:
0,2:
无权限调用
同步部门信息
SynJobtitle
Stringipaddress:
调用接口的IP地址,StringxmlData:
岗位信息的xml
成功:
1,失败:
0,2:
无权限调用
同步岗位信息
SynHrmResource
Stringipaddress:
调用接口的IP地址,StringxmlData:
人员信息的xml
成功:
1,失败:
0,2:
无权限调用
同步人员信息
getHrmSubcompanyInfo
Stringipaddress:
调用接口的IP地址,
SubCompanyInfo[]:
分部信息列表
获取所有分部信息列表
getHrmDepartmentInfo
Stringipaddress:
调用接口的IP地址,StringsubcompanyId:
分部id,多个用逗号分隔(不为空时该条件有效)
DepartmentInfo[]:
部门信息列表
根据参数条件获取部门信息列表
getHrmJobTitleInfo
Stringipaddress:
调用接口的IP地址,StringsubcompanyId:
分部id,多个用逗号分隔(不为空时该条件有效)
Stringdepartmentid:
部门id,多个用逗号分隔(不为空时该条件有效)
JobTitleInfo[]:
岗位信息列表
根据参数条件获取岗位信息列表
getHrmUserInfo
Stringipaddress:
调用接口的IP地址,StringsubcompanyId:
分部id,多个用逗号分隔(不为空时该条件有效)
Stringdepartmentid:
部门id,多个用逗号分隔(不为空时该条件有效)
Stringjobtitleid:
岗位id,多个用逗号分隔(不为空时该条件有效)
StringlastChangeDate:
最后修改日期,日期格式“YYYY-MM-DD”(不为空时该条件有效)
Stringworkcode:
人员编码(不为空时该条件有效)
UserInfo[]:
用户信息列表
根据参数条件获取用户信息列表
checkUser
Stringipaddress:
调用接口的IP地址
Stringloginid:
登录名Stringpassword:
密码
True:
表示存在
False:
表示不存在
检测OA用户
2.3接口相关对象说明
1)SynSubCompany同步分部传入xml的格式如下(一定要按照此格式传入):
xmlversion="1.0"encoding="UTF-8"?
>
001
测试分部一
测试分部一
0
0
002
测试分部二
测试分部二
0
1
003
1
相关属性说明:
Action:
动作,add:
添加,edit:
编辑,delete:
删除,OA中只做封存和解封,canceled=1封存,canceled=0解封
Code:
分部编码,唯一值
Shortname:
分部简称
Fullname:
分部全称
Parent_code:
上级分部编码,没有上级请填写0
Order:
排序值
2)SynDepartment同步部门传入xml的格式如下(一定要按照此格式传入):
xmlversion="1.0"encoding="UTF-8"?
>
0001
测试部门一
测试部门一
001
0
0
0002
测试部门二
测试部门二
003
0
1
0003
1
相关属性说明:
Action:
动作,add:
添加,edit:
编辑,delete:
删除,OA中只做封存和解封,canceled=1封存,canceled=0解封
Code:
部门编码,唯一值
Shortname:
部门简称
Fullname:
部门全称
Org_code:
分部编码
Parent_code:
上级部门编码,没有上级请填写0
Order:
排序值
3)SynJobtitle同步岗位传入xml的格式如下(一定要按照此格式传入):
xmlversion="1.0"encoding="UTF-8"?
>
00001
测试岗位一
测试岗位一
0001
00002
测试岗位二
测试岗位二
0002
00003
测试岗位三
相关属性说明:
Action:
动作,add:
添加,edit:
编辑,delete:
删除
Jobtitlecode:
岗位编码,唯一值
Jobtitlename:
岗位简称
Jobtitleremark:
岗位全称
Org_code:
分部编码
Jobtitledept:
岗位所属部门编码
4)SynHrmResource同步人员传入xml的格式如下(一定要按照此格式传入):
xmlversion="1.0"encoding="UTF-8"?
>
10001
test
test
123456
测试分部一
测试部门一
测试岗位一
正式
1024
男
1988-09-09
12345678
12345678
************
已婚
10001
test
test
123456
测试分部一
测试部门一
测试岗位一
正式
1024
男
1988-09-09
12345678
12345678
************
已婚
相关属性说明:
Action:
动作,add:
添加,edit:
编辑
Workcode:
人员编码,唯一值
Subcompany:
分部
Department:
部门
Lastname:
姓名
Loginid:
登录名
Password:
密码
Seclevel:
安全级别
Sex:
性别
Jobtitle:
岗位
Jobactivityid:
职务
Jobgroupid:
职务类别
Jobcall:
职称
Joblevel:
职级
Jobactivitydesc:
职责描述
Managerid:
直接上级(编码)
Assistantid:
助理(编码)
Status:
状态
Locationid:
办公室
Workroom:
办公地点
Telephone:
办公电话
Mobile:
移动电话
Mobilecall:
其他电话
Fax:
传真
Email:
邮箱
Systemlanguage:
系统语言
Birthday:
出生日期
Folk:
名族
Nativeplace:
籍贯
Regresidentplace:
户口
Certificatenum:
身份证号码
Maritalstatus:
婚姻状况
Policy:
政治面貌
Bememberdate:
入团日期
Bepartydate:
入党日期
Islabouunion:
工会会员
Educationlevel:
学历
Degree:
学位
Healthinfo:
健康状况
Residentplace:
现居住地
Homeaddress:
家庭联系方式
Tempresidentnumber:
暂住证号码
以上是人员同步的所有节点信息,需要同步那些字段,就填写相应的值。
5)SubCompanyInfo
/**
*分部id
*/
privatejava.lang.String_subcompanyid;
/**
*简称
*/
privatejava.lang.String_shortname;
/**
*全称
*/
privatejava.lang.String_fullname;
/**
*上级分部id
*/
privatejava.lang.String_supsubcompanyid;
/**
*网站
*/
privatejava.lang.String_website;
/**
*显示顺序
*/
privatejava.lang.String_showorder;
/**
*公司编码
*/
privatejava.lang.String_code;
/**
*是否封存
*/
privatejava.lang.String_canceled;
6)DepartmentInfo
/**
*部门id
*/
privatejava.lang.String_departmentid;
/**
*简称
*/
privatejava.lang.String_shortname;
/**
*全称
*/
privatejava.lang.String_fullname;
/**
*所属分部id
*/
privatejava.lang.String_subcompanyid;
/**
*上级部门id
*/
privatejava.lang.String_supdepartmentid;
/**
*显示顺序
*/
privatejava.lang.String_showorder;
/**
*部门编码
*/
privatejava.lang.String_code;
/**
*是否封存
*/
privatejava.lang.String_canceled;
7)JobTitleInfo
/**
*岗位id
*/
privatejava.lang.String_jobtitleid;
/**
*简称
*/
privatejava.lang.String_shortname;
/**
*全称
*/
privatejava.lang.String_fullname;
/**
*所属部门id
*/
privatejava.lang.String_departmentid;
/**
*岗位职责
*/
privatejava.lang.String_jobresponsibility;
/**
*任职资格
*/
privatejava.lang.String_jobcompetency;
/**
*相关文档
*/
privatejava.lang.String_jobdoc;
/**
*备注
*/
privatejava.lang.String_jobtitleremark;
8)UserInfo
privateintuserid;//用户id
privateStringsubcompanyid1;//分部
privateStringdepartmentid;//部门
privateStringworkcode;//编号
privateStringlastname;//姓名
privateStringloginid;//系统账号
privateStringpassword;//密码
privateStringseclevel;//安全级别
privateStringsex;//性别
privateStringjobtitle;//岗位
privateStringjobactivityid;//职务
privateStringjobgroupid;//职务类型
privateStringjobcall;//职称
privateStringjoblevel;//职级
privateStringjobactivitydesc;//职责描述
privateStringmanagerid;//直接上级
privateStringassistantid;//助理
privateStringstatus;//状态eg:
正式、试用等
privateStringlocationid;//办公地点
privateStringworkroom;//办公室
privateStringtelephone;//办公电话
privateStringmobile;//移动电话
privateStringmobilecall;//其他电话
privateStringfax;//传真
privateStringemail;//电子邮件
privateStringsystemlanguage;//系统语言默认7
privateStringbirthday;//生日
privateStringfolk;//名族
privateStringnativeplace;//籍贯
privateStringregresidentplace;//户口
privateStringcertificatenum;//身份证号
privateStringmaritalstatus;//婚姻状况
privateStringpolicy;//政治面貌
privateStringbememberdate;//入团日期
privateStringbepartydate;//入党日期
privateStringislabouunion;//是否是工会会员
privateStringeducationlevel;//学历
privateStringdegree;//学位
privateStringhealthinfo;//健康状况
privateStringheight;//身高
privateStringweight;//体重
privateStringresidentplace;//居住地
privateStringhomeaddress;//家庭住址
privateStringtempresidentnumber;//暂住证号码
privateStringstartdate="";//合同开始日期
privateStringenddate="";//合同结束日期
privateStringcreatedate="";//创建日期
privateStringlastChangdate="";//最后修改日期
privateintaccounttype;//账号类型
privateintdsporder;//显示顺序
以上是获得用户的基本信息字段
2.4生成客户端
大家知道,在本地调用webservice,最便利的方法是利用工具生成客户端代理,开发人员通过客户端代理去访问webservice将会非常简单,就象调用本地的方法一样。
各大主流的编程语言都提供了通过wsdl生成客户端代理的工具,如c#中的wsdl.exe和java中的wsdl2java。
本文以java为例说明客户端的生成方法。
2.4.1客户端所需jar
commons-discovery-0.2.jar
javax-wsdl_1.5.1jar
commons-logging_1.0.4.jar
axis.jar
jaxrpc.jar
saaj.jar
activation.jar
mail.jar
2.4.2生成客户端
使用eclipse向导生成WebService客户端
三、示例程序
3.1使用客户端同步公司信息
publicstaticvoidmain(String[]args){
try{
Stringorgxml=””;
HrmServiceClientclient=newHrmServiceClient();
HrmServicePortTypeservice=client.getHrmServiceHttpPort();
service.synSubCompany("192.168.4.183",orgxml);
}catch(Exceptione){
e.printStackTrace();
}
}
检测用户:
publicstaticvoidmain(String[]args){
try{
HrmServiceClientclient=newHrmServiceClient();
HrmServicePortType