1.开发基础
l 熟悉s-HR开发模式、框架、工具;
l 了解osf配置、运行过程;
l 熟悉单据的相关元数据及业务逻辑;
l 搭建s-HR开发环境;
2.参考资料
s-HR与第三方集成
https://vip.kingdee.com/article/345616446195667456?fromAction=POST_ARTICLE&productLineId=10
3.常见问题
(1)单点登录时返回状态301状态异常。
检查单点登录的地址和s-HR系统地址是否协议一致,如果单点登录设置的地址为http地址,但实际系统地址为https地址,此时会强制跳转https,返回301状态。
(2)引用了单点登录相关jar包后,系统编译失败。
单点登录的jar包引用了其它开放工具jar包,如httpClient等,检查是否是jar包版本冲突导致编译失败。
(3)单点登录成功,但返回失败数据。
在二开的osf服务类中添加日志埋点,便于排查单点登录成功后是否进入服务类。排查s-HR系统中apusic日志,解决发生的业务异常。
(4)osf服务类部署路径不对,调用时找不到相关服务。
先确认单点登录是否成功,检查apusic日志,若osf服务没有部署在addon/custom目录下,则会报classDefNotFound异常;若调用的服务名称错误,则会报classNotFound异常。
(5)集成单据失败,生成的单据数据异常。
由于osf服务中是直接调用单据的后台保存或提交生效方法,没有经过handler中的相关校验或补充逻辑,因此生成的单据可能有数据异常。需要了解单据的业务逻辑,有时需要将handler的相关逻辑补充到osf服务中调用单据保存方法前。
4.Demo示例
以保存预入职单据到系统为例,大致需要经过以下步骤:
(1) 二开建立osf服务类,实现IHRMsfService接口,重写其process方法,在内调用controllerBean的保存,并可根据业务需要,进行保存前的数据校验或保存后的其它处理;单点登录有多种方式,详见二开培训-单点登录资料,根据业务需要选择合适的登录方式。本例通过http方式保存数据到S-HR系统。
(2)在开发平台—>OSF配置服务中创建服务,指向所创建的服务类;
在开发平台—>OSF配置服务中创建服务,指向所创建的服务类。服务名称可以自己定义,但class指向一定是所创建的服务类的全限定地址;参数及子参数名称需要与调用服务时所传的参数一致。OSF服务创建后需要重启服务
(3)在系统设置—>单点登录中配置白名单等策略。
金蝶s-HR组织人事方法参数说明.docx(450.13KB)
推荐阅读