近来发现产品论坛中对s-HR与cloud集成问题提问较多,特开此帖对出现的问题进行总结。 总结众多已经出现并解决的问题,大多发现是没有严格按照集成文档操作导致的,所以请一定要有耐心的仔细查看集成文档,并严格按照步骤一步一步操作。 集成几点说明:cloud配置部署两个IIS站点,一个用于s-HR新增修订等变动时发消息通知某个ID有变化,此接口接到变化通知后,通知cloud另外一个接口调用s-HR提供的osf根据这个变化ID取数,所有的映射信息存储在accese数据库中,所以记得升级重装IIS接口要备份此数据库 后缀名为.accd或.accdb。cloud的多组织模式,因为cloud是多组织模式shr组织必须维护erpOrgCode与could对应,故需检查脚本是否成功,log消息中这个字段是否有存在,且有值。IIS重启服务,需在应用池中选中对应站点重启,不能整个服务重启。
一、操作应用类问题
问题1:shr与cloud集成,系统的日志文件的存放路径日志路径:K3Cloud安装目录\IntegrationServicePlatform\App_Data
问题2:k3cloud集成配置问题 第一次配置集成配置界面正常操作步骤如下:1、 填写接口信息,不要勾选底下的选择框,点击保存,将接口信息保存至shr数据库。2、 勾选底下选择框,点击同步按钮,初始化对应接口。 常见错误如下:1) s-HR系统[开发平台]-[k3cloud集成配置],点击同步按钮时提示“webServiceaddress is null”
解决方法:a、先确认IIS接口是否正常,将消息接口服务地址复制到浏览器地址回车,如果能够访问说明IIS接口正常,如果无法访问则说明是IIS接口的问题,属于cloud的问题;b、检查HR集成工具地址是否填写
c、需要保存这个界面的消息接口信息到shr的数据库操作:不要勾选底下的框,点击保存按钮,成功后再点击同步按钮,否则会报webservice address is null2) s-HR系统[开发平台]-[k3cloud集成配置],点击保存按钮时,提示启用接口前请先初始化
去掉打上的勾,然后点击保存。
问题3:点击HR系统[开发平台]-[k3cloud集成配置]时报错集成接口应用包有问题,请尝试卸载后重新安装,还是报错的话,联系总部要正确的集成接口应用包
二、错误类问题(s-HR与cloud集成不成功) 注意事项:请提问题之前严格按照操作文档再重复检查一遍,以免是自己失误导致的问题; 问题说明:集成不成功或者报错时候,如果检查操作没有问题,就请提供一下日志。一般情况因为集成数据较多,为方便分析,请利用单笔数据重新获取日志。获取有效日志方式:1、停止IIS服务2、备份日志文件删除3、启动IIS服务4、使用user修订未同步成功的一笔数据 5、administrator登录集成界面点击保存6、获取日志(此时的日志是最新的,且只有这边数据的,方便查找这笔数据未同步成功的原因)
问题1:远程服务器返回错误: (414)Request URI Too Long具体日志示例:(http://192.168.22.20:5888/shr/OSF2sso.jsp?username=user&password=AAECAzU2MjRCNzZDNTYyNEMwQ0N1c2VyODE4RDRDNjk4M0Q4RjU4NEVDQzQwMjdFQURCRTUyRDY3QjI4MDg0MA%253d%253d&userAuthPattern=OTP&serviceName=getInitDataService¶m={"bill":""}
2015-10-19 17:27:08,412 [7] ERROR - MessageManager
System.Net.WebException: 远程服务器返回错误: (414) Request URI Too Long。
在System.Net.HttpWebRequest.GetResponse()在Kingdee.K3Cloud.IntegrationServicePlatform.Core.Network.HttpClient.SysncRequest(DateTimesendTime, HttpClientDelegate resultCallback, CookieContainer cookieContainer,String contentType, Boolean isByte)分析原因: a、s-HR配置步骤一的问题,没有配置对或者没有重启s-HR
请重新操作文档中上图的相关内容的操作。 b、shr账套切换 ,需修改配置文件重启实例
问题2:(500)Internal Server Error.,cloud接口问题 具体日志示例:http://192.168.30.120/K3CloudServiceInterface_005/json/syncreply/Auth2015-10-20 18:04:49,786 [5] ERROR -MessageManagerSystem.Net.WebException: The remote serverreturned an error: (500) Internal Server Error. atSystem.Net.HttpWebRequest.GetResponse() atKingdee.K3Cloud.IntegrationServicePlatform.Core.Network.HttpClient.SysncRequest(DateTimesendTime, HttpClientDelegate resultCallback, CookieContainer cookieContainer,String contentType, Boolean isByte) 处理方式:cloud接口问题 论坛上https://vip.kingdee.com/article/176346,处理不了找李勤
问题3:Object reference not set to an instance of an object. 具体日志示例:"公司","bizOrgNumber":"15","number":"150112","state":"1","name":"综合包装车间","effectDate":"2015-10-21","id":"p0BQfMTATj2msTG1HB9TcsznrtQ="},{"parentName":"总经办","parentNumber":"2","bizOrgName":"食品有限公司","bizOrgNumber":"001","number":"16","state":"1","name":"云商事业部","effectDate":"2015-10-21","id":"E+LcPmo4S/KNfh7+n0GVDsznrtQ="}]}
2015-10-21 14:44:28,963 [12] ERROR - MessageManager
System.NullReferenceException: Object reference not set to an instance of an object.
at Kingdee.K3Cloud.IntegrationServicePlatform.K3HRAdapter.Synchronous.BD_DepartmentSaveSynchronous..ctor(JObject source, JObject target)
at Kingdee.K3Cloud.IntegrationServicePlatform.K3HRAdapter.Converter.DeptConverter.CreateSynchronous(JObject source, JObject target)
at Kingdee.K3Cloud.IntegrationServicePlatform.Core.Adapter.JsonIntegratedConverter.Convert(JToken details)
at Kingdee.K3Cloud.IntegrationServicePlatform.K3HRAdapter.Converter.DeptConverter.InnerCreateSynchrous(AbstractAccepter accepter)
at Kingdee.K3Cloud.IntegrationServicePlatform.Core.AbstractIntegration.CreateSynchrous(AbstractAccepter accepter)
at Kingdee.K3Cloud.IntegrationServicePlatform.Core.AbstractProvider.DealSynchronous(AbstractIntegration integration)
at Kingdee.K3Cloud.IntegrationServicePlatform.Core.AbstractProvider.Convert(DateTime sendTime, String contents)
at Kingdee.K3Cloud.IntegrationServicePlatform.Core.Network.HttpClient.SysncRequest(DateTime sendTime, HttpClientDelegate resultCallback, CookieContainer cookieContainer, String contentType, Boolean isByte)
2015-10-21 14:44:28,963 [12] INFO - AbstractAccepter的线程准备SI_0052015-10-21 14:44:29,977 [19] INFO - AbstractAccepter的线程开始SI_005 问题说明:数据库脚本没有执行(文档中模式一的步骤一附有脚本文件),缺少erpOrgCode字段,所以报System.NullReferenceException: Object reference not set to an instance of an object. 处理方式:查看文档中脚本执行的相关内容。
问题4:shr数据同步到cloud中不成功 检查同步日志中shr对应数据的state状态,若state=1,则说明shr的数据正常获取到接口了,可能是cloud写入数据的没有成功导致,需找cloud负责人李勤进一步分析。 具体日志示例:"食品有限公司","bizOrgNumber":"001","number":"16","state":"1",
问题5:驱动问题 System.Exception: 请安装集成平台目录下的AccessDatabaseEngine,64位的安装AccessDatabaseEngine_X64。如果64位系统下已经安装了32位的AccessDatabaseEngine,则把集成平台的应用程序池修改为支持32位。 处理方式:重装驱动
推荐阅读