电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

金蝶s-HR Cloud s-HR_8.2OSFWebService服务配置指南.docx

金蝶s-HR Cloud s-HR_8.2OSFWebService服务配置指南.docx_第1页
1/19
金蝶s-HR Cloud s-HR_8.2OSFWebService服务配置指南.docx_第2页
2/19
金蝶s-HR Cloud s-HR_8.2OSFWebService服务配置指南.docx_第3页
3/19
OSFWebService服务(V1.1版)目录1.概述.............................................................................................................21.1.OSF的定义..........................................................................................21.2.BOSWebService服务............................................................................21.3.s-HROSFWebService服务....................................................................22.发布OSFWebService服务.............................................................................22.1.发布流程.............................................................................................22.2.定义Facade.........................................................................................32.3.发布Facade.........................................................................................42.4.发布WebService...................................................................................52.5.服务端OSF程序...................................................................................63.部署OSFWebService服务.............................................................................73.1.服务端组件..........................................................................................73.2.部署服务端程序....................................................................................73.3.验证部署结果.......................................................................................84.客户端代码生成.............................................................................................94.1.登录接口集成.......................................................................................94.1.1.获取登录接口描述文件.................................................................94.1.2.编写登录/登出方法......................................................................94.2.获取OSFWebService接口描述文件.......................................................104.3.生成客户端代码(JAVA)........................................................................114.3.1.新建客户端程序工程..................................................................114.3.2.目标wsdl复制到工程内..............................................................124.3.3.生成WebServiceClient...............................................................124.3.4.编写ClientAPI工具类................................................................144.4.生成C#客户端...................................................................................144.4.1.使用命令行...............................................................................144.4.2.运行命令生成客户端..................................................................155.第三方系统调用s-HROSFWebService........................................................165.1.获取SDK..........................................................................................165.2.SDK对外发布的接口...........................................................................165.3.调用客户端SDK代码示例....................................................................165.4.用户信息配置文件详解........................................................................176.附录...........................................................................................................171.概述1.1.OSF的定义OSF(OpenServiceFramework),开放服务框架。以HTTP+Json的方式提供数据接口s-HR系统预置了大量数据接口,同时支持客户二次开发,为第三方系统提供所需要的接口。1.2.BOSWebService服务WebService是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。BOSWebservice基于ApacheAxis1.4实现,提供在各个不同平台的不同应用系统的协同工作能力。使各个异构系统之间实现无缝交互。在本质上是要为应用程序之间提供数据通讯的标准,为企业应用之间动态地提供大颗粒度的服务,并不适合于非常精细的基于会话的方法调用以及复杂的事务(transaction)处理之中。1.3.s-HROSFWebService服务在8.2SP以前调用s-HROSF接口需要先配置单点登录,完成单点登录配置后才能在第三方调用到OSF。WebService的引入,通过SOAP协议中转HTTP请求,在服务端完成数据操作后同样以Json的方式返回操作结果。从实施难度上看,配置OSFWebService服务要比根据现场网络、硬件、BOS版本以及各种私包的影响来配置单点登录简单、快速很多,仅仅需要将OSFWebService服务发布到BOS中即可。其它内容均预置。2.发布OSFWebService服务本章节旨在阐述BOSWebService服务如何发布,指导开发人员进行WebService服务开发。2.1.发布流程通过BOSStudio发布s-HROSFWebService,发布的OSFFacade,建立粗粒度的业务方法,提供简单数据类型的数据参数和返回参数。图s-HROSFWebService发布流程2.2.定义Facade在BOSStudio中发布webService时,只能发布Entity和Facade两种元数据类型成WebService服务端的代码。由于Entity或Facade函数参数和返回值可能包含很多复杂的业务类型,在发布时会生成许多辅助类,一些复杂类型在其他异构系统中生成webService客户端时不能很好的支持,因此建议在建立webService功能时,最好使用Facade,并且提供简单类型的输入和返回参数。客户端调用提供.wsdl文件生成.java文件和.wsdd文件使用产生的.wsdd文件部署WebService将编译后的.class文件或.jar文件部署在web容器中将生成的.java文件编译在BosStudio中发布为WebService选择要发布为WebService的实体或Facade图定义OSFWebServiceFacade2.3.发布Facade发布Facade为java文件,生成服务端程序。图发布OSFWebserviceFacade文件2.4.发布WebService运行BOSStudio,打开“包分类”视图,在其中选中要发布WebService的实体或Façade对象(可同时选中多个),点击鼠标右键,在弹出菜单中选择“发布WebService”,将弹出“发布WebService”向导,选择实体或Façade对象下要发布的方法,手工输入或者点击“浏览”按钮来指定发布生成代码存放的目录,可以同时勾中“追加到配置文件”。这样BOSStudio将会根据选中的对象和要发布的方法生成WebService代码和wsdl描述。图发布s-HROSFWebService2.5.服务端OSF程序完成以上步骤后,得到s-HROSFWebService服务端程序,文件列表如下图所示:图s-HROSFWebService程序修改业务处理方法,以实现OSF请求转发功能,代码核心片段如下:图OSF请求转发代码片段3.部署OSFWebService服务3.1.服务端组件s-HR8.2OSFWebService组件以私包方式部署,全部内容包含服务端程序私包、元数据私包以及WebService描述文件(wsdd):图s-HR8.2OSFWebService服务端组件3.2.部署服务端程序部署服务端程序私包,执行以下4步操作:1)拷贝服务端程序私包SP_OSFWebservice_2018110.jar到目录{EAS_HOME}\eas\server\lib\sp;2)拷贝元数据私包SP_OSFWebservice_metas_2018110.jar到目录{EAS_HOME}\eas\server\metas\sp;3)将WebService描述文件添加到{EAS_HOME}\eas\server\deploy\eas.ear\web.war的WEB-INF目录中,如下图所示;图将wsdd文件添加到web.war4)注册OSFWebService,将以OSFWebService描述信息添加到{EAS_HOME}\eas\server\deploy\eas.ear\web.war的WEB-INF\server-config.wsdd中;5)重启EAS服务;3.3.开启安全模式默认是不开启WebService安全模式,在集群环境下会出现登录请求与业务请求被分发到不同实例,导致业务请求有可能被判定为“未登录”状态,需要修改配置文件开启安全模式。修改{EAS_HOME}\eas\server\profiles\serverN\config\webservice.propetties文件,添加一下配置项:isRomoteLocate=false3.4.验证部署结果当s-HROSFWebService服务部署好之后,可以通过查看BOS所有WebService服务列表,确认是否s-HROSFWebService服务是否部署正确。查看BOS所有的WebService的链接为:http://ip:port/ormrpc/services,搜索关键字关键字“WSOSFWebserviceFacade”,搜索到结果可视为部署完成。如下图所示:图验证部署结果4.客户端代码生成4.1.登录接口集成基于安全及业务考虑,调用s-HROSFWebService客户端需要进行BOS体系的登录校验。登录的客户端代码以安全模式完成BOSWebService的单点登录,此种方式才能实现用户会话粘贴功能。4.1.1.获取登录接口描述文件登录接口的描述文件为EASLogin.wsdl,可从http://ip:port/ormrpc/services/EASLogin?wsdl获取。4.1.2.编写登录/登出方法以下为登录/登出方法示例:图登录代码示例图登出代码示例4.2.获取OSFWebService接口描述文件服务端程序部署完成后,通过浏览器访问http://ip:port/ormrpc/services/WSOSFWebserviceFacade?wsdl可请求到WSOSFWebserviceFacade描述文件内容,将其保存为wsdl文件可取得最新的WebService描述文件WSOSFWebserviceFacade.wsdl。图获取最新的WSOSFWebserviceFacade.wsdl4.3.生成客户端代码(JAVA)下面将基于Eclipse来介绍如何生成s-HROSFWebServiceClient。4.3.1.新建客户端程序工程在Eclipse中新建一个JavaProject,编译版本建议选择jdk1.6x以兼容较早的EAS环境。图新建WebService客户端工程4.3.2.目标wsdl复制到工程内将上述步骤获得的wsdl文件复制到工程内,以便生成客户端代码。图将wsdl文件拷贝到工程内4.3.3.生成WebServiceClient用鼠标右键点击要生成客户端的WSDL文件,选取“新建”,在弹出的新建项目类型中选择“WebServicesClient”,按照指引选择下一步直到完成WebServiceClient。并将生成的杂乱无章的代码整理成我们想要的形式,如修改包路径等图生成WebServiceClient图整理生成的WebServiceClient4.3.4.编写ClientAPI工具类调用s-HROSFWebService的API类,推荐以EndPoint+QName的方式来调用,保证能灵活改变s-HR地址,代码片段参考。注意:用同一个Call实现贯穿登录=>调业务方法=>登出方法,才能实现高可用(集群)方式实现会话粘贴。图编写CleintAPI工具类–1图编写CleintAPI工具类–24.4.生成C#客户端在此,以MicrosoftVisualStudio.Net2003为例说明如何生成C#客户端。用户在正确安装完MicrosoftVisualStudio.Net2003后,需要设置一个环境变量Path=C:\ProgramFiles\MicrosoftVisualStudio.NET2003\SDK\v1.1\Bin,其中C:\ProgramFiles\MicrosoftVisualStudio.NET2003是MicrosoftVisualStudio.NET2003的安装路径。4.4.1.使用命令行运行“cmd”,打开命令行窗口,并进入WSDL文件所在目录(在此为C:\wsdl目录):4.4.2.运行命令生成客户端运行命令wsdlXXX.wsdl(XXX为wsdl文件的文件名),即可生成C#的WebService客户端代码:输入途中命令,按回车键,即可自动生成C#客户端代码:如上图所示,生成了一个文件WSLoginService.cs,这就是我们所需要的客户断代码。5.第三方系统调用s-HROSFWebService由金蝶HR事业部封装的s-HROSFWebServiceClientSDK是正式发布的客户端调用WebService的客户端。5.1.获取SDK请与金蝶HR事业部同事联系获取s-HROSFWebServiceClientSDK。5.2.SDK对外发布的接口第三方系统拿到SDK后,可直接调用SDK中对外发布的两个调用s-HROSFWebService方法的接口:com.kingdee.shr.api.proceedOSF(StringshrAddr,StringserviceName,Mapparams);com.kingdee.shr.api.proceedOSF(StringshrAddr,StringserviceName,Mapparams,UserInfouserInfo);调用参数详解:参数参数名称说明shrAddrs-HR访问地址--serviceNameOSF接口名称OSF接口名称,可从s-HR系统中获取(支持二开接口)paramsOSF接口参数OSF接口定义中所配置的参数,以key-value的方式传入userInfo登录用户信息登录BOS的用户信息,若不传此参数则使用用户信息配置文件中所配置的用户信息5.3.调用客户端SDK代码示例登录需要传入用户及账套信息,故封装的代码需要传入userInfo信息。目前支持配置文件的方式和参数传入的方式(配置文件方式见后续章节描述)。publicstaticvoidmain(String[]args)throwsIOException{UserInfouserInfo=newUserInfo();userInfo.setDbType(1);//数据库类型:SQLServer:0,Oracle:1,DB2:2;userInfo.setDcName("SHRDB");userInfo.setLanguage("L2");userInfo.setPassword("apiuserpasswd");userInfo.setSlnName("eas");userInfo.setUserName("apiuser");StringshrAddr="http://172.18.8.35:8080/shr";StringserviceName="personSearchService";Mapparams=newHashMap();params.put("searchKey","陈");//若不使用userInfo参数,则使用配置文件userInfo.properties中配置的用户信息来登录并调接口Stringresult=newOSFWSClient().proceedOSF(shrAddr,serviceName,params);Stringresult1=newOSFWSClient().proceedOSF(shrAddr,serviceName,params,userInfo);System.out.println("callosfbyinitproperties:"+result);System.out.println("callosfbybuiltuserInfos:"+result1);}5.4.用户信息配置文件详解用户信息配置文件目录位于/OSFWebServiceClient/src/com/kingdee/shr/osf/webservice/client/userInfo.properties,请按具体环境进行修改图用户信息配置文件描述6.附录

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金蝶s-HR Cloud s-HR_8.2OSFWebService服务配置指南.docx

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信