一、服务注册设置使用说明

(1)服务注册,注册类型包含三种类型:HSF、HTTP、GATEWAY

(2)HSF服务注册,包含:名称、管理员、服务名称、服务版本、服务方法、参数列表、服务描述
(2-1)名称:创建服务时,可以根据自己需要来填写
(2-2)管理员:可以理解为服务的管理者;且管理员可以对自己创建的服务进行查看、修改
(2-3)服务名称:可以理解为对应的类名
(2-4)服务版本:可以理解为版本号
(2-5)服务方法:可以理解为方法名称
(2-6)参数列表:方法中需要用到的参数
(2-7)服务描述:对服务作用或其他功能的说明信息

(3)HTTP服务注册,包含:名称、管理员、url完整地址、开启MD5签名验证、参数列表、服务描述
(3-1)名称:创建服务时,可以根据自己需要来填写
(3-2)管理员:可以理解为服务的管理者;且管理员可以对自己创建的服务进行查看、修改
(3-3)url完整地址:需要访问的http接口对应的完整地址
(3-4)开启MD5签名验证:MD5(32位大写)签名验证,当选择加密时需要额外输入 加密密钥(自定义),宜搭在发起请求时会使用该密钥和所有入参一起进行加密,加密的字符串会以默认参数:__signature 传递给目标服务。目标服务验证签名时需要将所有参数名进行去重(宜搭内部使用TreeSet处理,调用时需要保证服务端参数名不重复)升序排序,每个参数值之间使用$分隔,并在末尾拼接密钥后进行MD5加密,例如:当参数值为123,密钥为test时的加密串为:123$test
(3-5)开启SHA256签名验证:当选择加密时需要额外输入 加密密钥(自定义),宜搭在发起请求时会使用该密钥和所有入参一起进行加密,加密的字符串会以默认参数:__hmacSha256 传递给目标服务,加密算法使用HmacSHA256算法,结果使用Base64转换成UTF8的字符串。目标服务验证签名时需要将所有参数名进行去重然后使用参数值(宜搭内部使用TreeSet处理,调用时需要保证服务端参数名不重复)升序排序,每个参数值之间使用$分隔
(3-6)参数列表:方法中需要用到的参数
(3-7)服务描述:对服务作用或其他功能的说明信息

(4)GATEWAY服务注册,包含:名称、管理员、url相对地址、参数列表、服务描述
(4-1)名称:创建服务时,可以根据自己需要来填写
(4-2)管理员:可以理解为服务的管理者;且管理员可以对自己创建的服务进行查看、修改
(4-3)url相对地址:需要访问的GATEWAY接口对应的相对地址
(4-4)参数列表:方法中需要用到的参数
(4-5)服务描述:对服务作用或其他功能的说明信息

(5)服务设置成功后,可在单据相应的地方使用,如:设计器中—第三方服务回调
(6)服务设置成功后,可在流程相应的地方使用,如:节点设置规则、审批人、抄送人、权限

二、服务注册设置—操作

使用企业管理员身份,进入宜搭系统,操作步骤:

  1. 单击”平台管理”链接,进入平台管理页面
  2. 单击”服务注册”链接,进入服务注册设置页面
  3. 单击”新增服务”按钮,进入服务新增页面

(高级)服务注册 - 图2

2.1 HSF类型服务注册(对外版不支持)

HSF类型服务注册,类型、名称、管理员、服务名称、服务版本、服务方法 填写正确,单击“确认”按钮

特别说明:

  • 参数只支持 字符串类型,不支持 自定义类,否则会报got NoSuchMethodException
  • 参数列表,根据配置的服务自行决定是否需要添加,参数顺序需要与HSF接口中的参数定义的顺序保持一致


(高级)服务注册 - 图3
配置示例:
(高级)服务注册 - 图4

2.2 HTTP类型服务注册

HTTP类型服务注册,类型、名称、管理员、url完整地址填写完成后,单击“确认”按钮
说明:

  • 开启Md5前面验证,可以不勾选;

  • 参数列表,根据配置的服务自行决定是否需要添加

  • 服务描述,根据需要自行决定是否需要添加

  • 签名参数,根据需要自行添加

image.png
配置示例:
image.png

注意:

  • url地址需要保证公网可以访问
  • HTTP使用的是POST请求
  • 参数会通过x-www-form-urlencoded的方法添加到body体中
  • 由于是非核心功能,目前请求发送失败后不会重试
  • 勾选平台公共服务,则这个企业下所有人都可以使用该接口
  • 关于MD5签名验证和SHA256签名验证的使用请参考本文第一小节的(3-4)和(3-5)中的说明。

2.3 GATEWAY类型服务注册

GATEWAY类型服务注册,类型、名称、管理员、url完整地址填写完成后,单击“确认”按钮
说明:

  • 参数列表,根据配置的服务自行决定是否需要添加

  • 服务描述,根据需要自行决定是否需要添加

(高级)服务注册 - 图7

配置示例:

(高级)服务注册 - 图8

三、服务注册部分使用场景示例

(1)单据中使用场景
(1-1)单据设计器中添加第三方服务
前置条件:

  • 单据创建成功

  • 存在已经注册的服务,服务名为:gateway服务、http服务

使用步骤:

  • 进入单据设计器页面,进入第三方服务配置页面

  • 添加需要的第三方服务配置,保存

  • 用户提交实例时,会根据配置的第三方服务进行执行

例如:
第三方服务配置了gateway,且gateway方法为:在非当前表单中插入一条数据
用户提交实例后,会再非当前表单中插入一条数据
(2)流程中使用场景
(2-1)流程 节点设置规则 中添加第三方服务
前置条件:

  • 流程创建成功

  • 存在已经注册的服务,服务名为:gateway服务、http服务

使用步骤:

  • 进入流程节点设置规则页面,进入第三方服务配置页面

  • 添加需要的第三方服务配置,保存

  • 用户提交实例时或者审批人进行审批h时,会根据配置的第三方服务进行执行

例如:
第三方服务配置了gateway,且gateway方法为:在非当前表单中插入一条数据
用户提交实例后,会再非当前表单中插入一条数据
(2-2)流程 审批人 添加第三方服务
前置条件:

  • 流程创建成功

  • 存在已经注册的服务,服务名为:gateway服务、http服务、hsf服务

使用步骤:

  • 进入流程审批人设置页面,添加审批人为第三方服务,如:hsf服务(hsf返回的是一个或者多个人员)

  • 用户发起实例

  • 实例对应的审批人为 hsf服务中返回的人员

(2-3)流程 权限中 添加第三方服务
前置条件:

  • 流程创建成功

  • 存在已经注册的服务,服务名为:gateway服务、http服务、hsf服务

使用步骤:

  • 进入流程权限设置页面,发起人/查看人,权限添加第三方服务,如:hsf服务(hsf返回的是一个或者多个人员)

  • 非hsf返回值中的人员,发起实例

  • 实例发起失败,即权限组中的人员时第三方服务中返回的人员信息