最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

人力资源(HrmService)WebService接口使用说明

底层代码 bron1984 6381浏览

目 录

人力资源WebService接口开发使用说明

 

一、前言 4

1.1编写目的 4

1.2名词定义 4

二、接口调用步骤 5

2.1检查web service是否已部署 5

2.2接口方法概述 5

2.3 接口相关对象说明 6

2.4 生成客户端 9

三、示例程序 13

3.1 使用客户端同步公司信息 13

一、前言

1.1编写目的

本文给有研发能力的客户或有系统集成需求的客户提供web service接口调用的参考例程。本文的面向具有一定web service开发能力或了解web service技术的开发人员。

1.2名词定义

1、Axis:

著名的开源web service引擎。

2、外部系统:

指调用或实现e-cology输入输出接口,与e-cology系统进行数据交接的其他系统。

二、接口调用步骤

2.1检查web service是否已部署

在浏览器中输入http://ecologyServer/services,应显示如下页面:

如果未出先上述页面,则web service未部署成功,请与泛微项目人员联系。

接口部署成功之后,需要在OA的HrmWebserviceIP.properties配置文件中配置调用接口客户端的IP,调用接口时传入的参数ip包涵在此配置文件才能调用以下接口。

2.2接口方法概述

名称 参数 返回值 功能描述
SynSubCompany String ipaddress:调用接口的IP地址,String xmlData:分部信息的xml 成功:1,失败:0,2:无权限调用 同步分部信息
SynDepartment String ipaddress:调用接口的IP地址,String xmlData:部门信息的xml 成功:1,失败:0,2:无权限调用 同步部门信息
SynJobtitle String ipaddress:调用接口的IP地址,String xmlData:岗位信息的xml 成功:1,失败:0,2:无权限调用 同步岗位信息
SynHrmResource String ipaddress:调用接口的IP地址,String xmlData:人员信息的xml 成功:1,失败:0,2:无权限调用 同步人员信息
getHrmSubcompanyInfo String ipaddress:调用接口的IP地址, SubCompanyInfo[]:分部信息列表 获取所有分部信息列表
getHrmDepartmentInfo String ipaddress:调用接口的IP地址,String subcompanyId:分部id,多个用逗号分隔(不为空时该条件有效) DepartmentInfo[]:部门信息列表 根据参数条件获取部门信息列表
getHrmJobTitleInfo String ipaddress:调用接口的IP地址,String subcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)

String departmentid:

部门id,多个用逗号分隔(不为空时该条件有效)

JobTitleInfo[]:岗位信息列表 根据参数条件获取岗位信息列表
getHrmUserInfo String ipaddress:调用接口的IP地址,String subcompanyId:分部id,多个用逗号分隔(不为空时该条件有效)

String departmentid:

部门id,多个用逗号分隔(不为空时该条件有效)

String jobtitleid:

岗位id,多个用逗号分隔(不为空时该条件有效)

String lastChangeDate:

最后修改日期,日期格式“YYYY-MM-DD”(不为空时该条件有效)

String workcode:

人员编码(不为空时该条件有效)

UserInfo[]:用户信息列表 根据参数条件获取用户信息列表
checkUser String ipaddress:调用接口的IP地址

String loginid:登录名 String password:密码

True:表示存在

False:表示不存在

检测OA用户

2.3 接口相关对象说明

1)SynSubCompany 同步分部传入xml的格式如下(一定要按照此格式传入):

<?xml version=”1.0″ encoding=”UTF-8″?>

<root>

<orglist>

<org action=”add”>

<code>001</code>

<shortname>测试分部一</shortname>

<fullname>测试分部一</fullname>

<parent_code>0</parent_code>

<order>0</order>

</org>

<org action=”edit”>

<code>002</code>

<shortname>测试分部二</shortname>

<fullname>测试分部二</fullname>

<parent_code>0</parent_code>

<order>1</order>

</org>

<org action=”delete”>

<code>003</code>

<canceled>1</canceled>

</org>

</orglist>

</root>

相关属性说明:

Action:动作,add:添加,edit:编辑,delete:删除,OA中只做封存和解封,canceled=1封存,canceled=0解封

Code:分部编码,唯一值

Shortname:分部简称

Fullname:分部全称

Parent_code:上级分部编码,没有上级请填写0

Order:排序值

2)SynDepartment同步部门传入xml的格式如下(一定要按照此格式传入):

<?xml version=”1.0″ encoding=”UTF-8″?>

<root>

<orglist>

<org action=”add”>

<code>0001</code>

<shortname>测试部门一</shortname>

<fullname>测试部门一</fullname>

<org_code>001</org_code>

<parent_code>0</parent_code>

<order>0</order>

</org>

<org action=”edit”>

<code>0002</code>

<shortname>测试部门二</shortname>

<fullname>测试部门二</fullname>

<org_code>003</org_code>

<parent_code>0</parent_code>

<order>1</order>

</org>

<org action=”del”>

<code>0003</code>

<canceled>1</canceled>

</org>

</orglist>

</root>

相关属性说明:

Action:动作,add:添加,edit:编辑,delete:删除,OA中只做封存和解封,canceled=1封存,canceled=0解封

Code:部门编码,唯一值

Shortname:部门简称

Fullname:部门全称

Org_code:分部编码

Parent_code:上级部门编码,没有上级请填写0

Order:排序值

3)SynJobtitle同步岗位传入xml的格式如下(一定要按照此格式传入):

<?xml version=”1.0″ encoding=”UTF-8″?>

<root>

<jobtitlelist>

<jobtitle action=”add”>

<jobtitlecode>00001</jobtitlecode>

<jobtitlename>测试岗位一</jobtitlename>

<jobtitleremark>测试岗位一</jobtitleremark>

<jobtitledept>0001</jobtitledept>

</jobtitle>

<jobtitle action=”edit”>

<jobtitlecode>00002</jobtitlecode>

<jobtitlename>测试岗位二</jobtitlename>

<jobtitleremark>测试岗位二</jobtitleremark>

<jobtitledept>0002</jobtitledept>

</jobtitle>

<jobtitle action=”delete”>

<jobtitlecode>00003</jobtitlecode>

<jobtitlename>测试岗位三</jobtitlename>

</jobtitle>

</jobtitlelist>

</root>

相关属性说明:

Action:动作,add:添加,edit:编辑,delete:删除

Jobtitlecode:岗位编码,唯一值

Jobtitlename:岗位简称

Jobtitleremark:岗位全称

Org_code:分部编码

Jobtitledept:岗位所属部门编码

4)SynHrmResource同步人员传入xml的格式如下(一定要按照此格式传入):

<?xml version=”1.0″ encoding=”UTF-8″?>

<root>

<hrmlist>

<hrm action=”add”>

<workcode>10001</workcode>

<loginid>test</loginid>

<lastname>test</lastname>

<password>123456</password>

<subcompany>测试分部一</subcompany>

<department>测试部门一</department>

<jobtitle>测试岗位一</jobtitle>

<statue>正式</statue>

<managerid>1024</managerid>

<sex>男</sex>

<birthday>1988-09-09</birthday>

<telephone>12345678</telephone>

<mobile>12345678</mobile>

<email>test@163.com</email>

<maritalstatus>已婚</maritalstatus>

</hrm>

<hrm action=”edit”>

<workcode>10001</workcode>

<loginid>test</loginid>

<lastname>test</lastname>

<password>123456</password>

<subcompany>测试分部一</subcompany>

<department>测试部门一</department>

<jobtitle>测试岗位一</jobtitle>

<statue>正式</statue>

<managerid>1024</managerid>

<sex>男</sex>

<birthday>1988-09-09</birthday>

<telephone>12345678</telephone>

<mobile>12345678</mobile>

<email>test@163.com</email>

<maritalstatus>已婚</maritalstatus>

</hrm>

</hrmlist>

</root>

相关属性说明:

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

*/

private java.lang.String _subcompanyid;

/**

* 简称

*/

private java.lang.String _shortname;

/**

* 全称

*/

private java.lang.String _fullname;

/**

* 上级分部id

*/

private java.lang.String _supsubcompanyid;

/**

* 网站

*/

private java.lang.String _website;

/**

* 显示顺序

*/

private java.lang.String _showorder;

/**

* 公司编码

*/

private java.lang.String _code;

/**

* 是否封存

*/

private java.lang.String _canceled;

6)DepartmentInfo

/**

* 部门id

*/

private java.lang.String _departmentid;

/**

* 简称

*/

private java.lang.String _shortname;

/**

* 全称

*/

private java.lang.String _fullname;

/**

* 所属分部id

*/

private java.lang.String _subcompanyid;

/**

* 上级部门id

*/

private java.lang.String _supdepartmentid;

/**

* 显示顺序

*/

private java.lang.String _showorder;

/**

* 部门编码

*/

private java.lang.String _code;

/**

* 是否封存

*/

private java.lang.String _canceled;

7)JobTitleInfo

/**

* 岗位id

*/

private java.lang.String _jobtitleid;

/**

* 简称

*/

private java.lang.String _shortname;

/**

* 全称

*/

private java.lang.String _fullname;

/**

* 所属部门id

*/

private java.lang.String _departmentid;

/**

* 岗位职责

*/

private java.lang.String _jobresponsibility;

/**

* 任职资格

*/

private java.lang.String _jobcompetency;

/**

* 相关文档

*/

private java.lang.String _jobdoc;

/**

* 备注

*/

private java.lang.String _jobtitleremark;

8)UserInfo

private int userid ; //用户id

private String subcompanyid1; //分部

private String departmentid; //部门

private String workcode; //编号

private String lastname; //姓名

private String loginid; //系统账号

private String password; //密码

private String seclevel; //安全级别

private String sex; //性别

private String jobtitle; //岗位

private String jobactivityid; //职务

private String jobgroupid; //职务类型

private String jobcall; //职称

private String joblevel; //职级

private String jobactivitydesc;//职责描述

private String managerid; //直接上级

private String assistantid; //助理

private String status; //状态 eg:正式、试用等

private String locationid; //办公地点

private String workroom; //办公室

private String telephone; //办公电话

private String mobile; //移动电话

private String mobilecall; //其他电话

private String fax; //传真

private String email; //电子邮件

private String systemlanguage;//系统语言 默认7

private String birthday; //生日

private String folk; //名族

private String nativeplace; //籍贯

private String regresidentplace; //户口

private String certificatenum; //身份证号

private String maritalstatus; //婚姻状况

private String policy; //政治面貌

private String bememberdate; //入团日期

private String bepartydate; //入党日期

private String islabouunion; //是否是工会会员

private String educationlevel; //学历

private String degree; //学位

private String healthinfo; //健康状况

private String height; //身高

private String weight; //体重

private String residentplace; //居住地

private String homeaddress; //家庭住址

private String tempresidentnumber; //暂住证号码

private String startdate = “” ; //合同开始日期

private String enddate = “” ; //合同结束日期

private String createdate=””; //创建日期

private String lastChangdate=””; //最后修改日期

private int accounttype; //账号类型

private int dsporder; //显示顺序

以上是获得用户的基本信息字段

2.4 生成客户端

大家知道,在本地调用web service,最便利的方法是利用工具生成客户端代理,开发人员通过客户端代理去访问web service将会非常简单,就象调用本地的方法一样。各大主流的编程语言都提供了通过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向导生成Web Service客户端

三、示例程序

3.1 使用客户端同步公司信息

public static void main(String[] args) {

try {

String orgxml =””;

HrmServiceClient client = new HrmServiceClient();

HrmServicePortType service = client.getHrmServiceHttpPort();

service. synSubCompany (“192.168.4.183”, orgxml);

} catch (Exception e) {

e.printStackTrace();

}

}

检测用户:

public static void main(String[] args) {

try {

HrmServiceClient client = new HrmServiceClient();

HrmServicePortType service = client.getHrmServiceHttpPort();

System.out.println(service.checkUser(“192.168.4.183”, “test”, “1”));

} catch (Exception e) {

e.printStackTrace();

}

}

转载请注明:赫非域 » 人力资源(HrmService)WebService接口使用说明