• 首页
  • 栏目
  • CRM
  • 协同办公OA&业务系统数据集成(2)-基于CRM(LiveBOS webservice接口)获取数据

协同办公OA&业务系统数据集成(2)-基于CRM(LiveBOS webservice接口)获取数据

  • 2021-11-30
  • Admin


系列文章目录

第一章 OA&CRM数据集成业务场景及技术方案概述

第二章 基于CRM(LiveBOS webservice接口)获取数据

第三章 基于OA(ecology9 jersey)定义Rest Api前端数据接口封装 

第四章 前端业务流程数据接口调用



前言

CRM系统基于顶点LiveBOS平台构建,对外的集成通过平台自带的WebService接口方式进行相关业务数据增删改查操作,本章节通过webservice客户端的方式进行数据集成。



一、LiveBOS WebService接口说明

1.登录接口

LoginResult login( String userid, String password, String scheme,String algorithm,String securityCode);

【参数说明】

Userid:用户标识(注:LiveBOS webservice 接口仅允许用户类型为service用户的才能在 LiveBOS Webservice 说明 webservice中调用)

Password:用户密码,根据algorithm指定的算法进行加密, algorithm=plain时为明文

Scheme:应用方案名

algorithm:加密算法

securityCode:安全码,预留,暂时送空串

【返回结果】

LoginResult

名称       类型说明
resultInt结果码,>0 成功,<=0失败
messageString返回提示信息
sessionIdString成功登录时,返回会话ID,以后查询与操作需要传入这个id

2.注销接口

LogoutResult logout(String sessionId);

【参数说明】

sessionId:要注销的会话ID

【返回结果】

LogoutResult

名称       类型说明
resultInt结果码,>0 成功,<=0失败
messageString返回提示信息

3.数据查询接口

QueryResult query(String sessionId, String objectName,List params, String condition, QueryOption queryOption);

【参数说明】

sessionId:会话ID

objectName: 查询的对象名

params: 传入的参数集合(当要查询的对象为 查询对象,带参数的视图 等要传入参数, 实体对象则传入空值)

condition:查询的附加条件(查询对象无效),如:“ID=1000” 等

queryOption:查询选项.

【返回结果】

QeuryResult

 【类型说明】



 

二、数据集成步骤


2.1.生成LiveBOS webservice客户端

    通过Apache Axis生成WebService客户端,可参考以下文章进行。

在IDEA中生成webservice客户端_追到乌云的尽头找太阳的博客-CSDN博客_idea生成webservice一、前言第一次接触webservice,从采坑到采坑,算是了解了一些,明白了一些;生成webservice的方法有很多种(实现方式有CXF、Axis等等),webservice 是一种基于web的应用程序,可以使用多种编程语言实现。JAVA 程序猿当然选择最快,最有效的方法。二、使用IDEA创建webservice客户端我认为通过IDE生成是有效的,我的目的只是能够生成且调用。目的----方...https://blog.csdn.net/chen15369337607/article/details/100555104


2.2.数据集成逻辑

2.2.1.调用登录接口,获取用户认证信息

  1. String userid="ws"; //用户标识,配置文件获取
  2. String password="pwd"; //用户密码,配置文件获取
  3. String scheme=""; //应用方案名
  4. String algorithm="plain"; //加密算法,默认为plain
  5. String securityCode=""; //安全码,默认为空
  6. LoginResult loginResult = stub.login(userid,password,scheme,algorithm,securityCode);
  7. String sessionId = ""; //回话ID
  8. //登录成功
  9. if(loginResult.getResult() > 0){
  10. System.out.println("成功登录!");
  11. sessionId =loginResult.getSessionId();
  12. System.out.println(sessionId);
  13. }else{
  14. System.out.println(loginResult.getMessage());
  15. rtn.put("status","-1");
  16. rtn.put("msg","访问异常,请联系系统管理员");
  17. }

2.2.2.数据查询接口,获取数据

  1. String objectName ="cxWEB_XXXXXX"; //查询的对象名
  2. LbParameter[] params = new LbParameter[2]; //传入的参数集合
  3. String condition =null; //查询附加条件
  4. QueryOption option = new QueryOption(); //查询选项
  5. //前端参数转换:客户编号、所属机构
  6. //输入参数1:客户编号
  7. LbParameter param1 = new LbParameter();
  8. param1.setName("clientNo");
  9. param1.setValue("123");
  10. params[0]=param1;
  11. //输入参数2:所属机构
  12. LbParameter param2 = new LbParameter();
  13. param2.setName("depCode");
  14. param2.setValue("9999");
  15. params[1]=param2;
  16. option.setBatchNo(1);
  17. option.setBatchSize(10);
  18. QueryResult result = stub.query(sessionId,objectName,params,condition,option);
  19. if(result.getResult()>0){
  20. System.out.println("数据接口返回成功");
  21. ColInfo[] cols = null;
  22. List records = null;
  23. int filedsCount = 0;
  24. LbMetaData meta = result.getMetaData();
  25. filedsCount = meta.getColumnCount();
  26. if(filedsCount>0){
  27. cols = meta.getColInfo();
  28. }
  29. if(result.getCount()>0){
  30. rtn.put("status","1");
  31. rtn.put("msg","客户数据已获取");
  32. records = Arrays.asList(result.getRecords());
  33. Object[] record = records.get(0).getValues();
  34. for (int i=0;i
  35. rtn.put(cols[i].getLabel(),String.valueOf(record[i]));
  36. }
  37. }else{
  38. rtn.put("status","1");
  39. rtn.put("msg","参数异常,未匹配数据");
  40. }

2.2.3.接口用户注销接口,退出接口访问

  1. LogoutResult logoutResult = stub.logout(sessionId);
  2. if(logoutResult.getResult()>0){
  3. System.out.println("已注销!");
  4. }


总结

通过接口可以获取到对应的CRM相关信息

原文:https://blog.csdn.net/jerry_kingson/article/details/121635080

联系站长

QQ:769220720