§ 本文目标

通过学习本文,可以掌握微服务通讯配置

作为客户端通讯需使用接出适配器。此处主要指微服务作为客户端发起服务请求调用

§ 练习场景

配置http+json的客户端

本示例配置一个端口为7777的HTTP通讯接出适配器,发送json格式的报文到本地的7777端口的网关微服务接入

§ 操作步骤

§ 设置通讯适配参数

在网关工程gateway的“公共定义”路径下,双击"通讯适配",打开“通讯适配”视图。如下图所示

wfwx_01

选择“接出适配器”,右键“新建 短连接客户端接出适配器”,弹出对话框如下

wfwx_02

填入接出适配器名称“shortClientOutAdaptor”,点击确定,打开接出适配器配置页面,如下图所示

注:此处名称为英文,且需要唯一

wfwx_03

上图中,主机为要发送请求的主机IP,此处填“127.0.0.1”,端口“7777”,超时时间为60秒,通讯协议选http,请求方式为POST,请求数据类型为text/xml; charset=UTF-8uri为**/api/bsp/json**,除此之外其他为非必输项。socket时,下面的系列参数不需要填

保存接出适配器配置信息

§ 配置请求及响应报文

发送报文需要先拼包,下面给出json拼包示例

在网关工程gateway的“公共定义”路径下,选择“报文管理”,右键出现下来菜单,依次选择“新建”,“新建报文文件”,如下图所示

wfwx_04

点击“新建报文文件”,弹出对话框,填入jsonPack,如下图所示

wfwx_05

点击“完成”,创建jsonPack.mfd文件

本例配置JSON原始报文如下

wfwx_06

打开jsonPack.mfd文件

报文类型选03-JSON,编码选需要的字符集编码,本例中使用UTF-8,自动拼包选择:“false”。如下图:

wfwx_07

步骤:

  1. 右键点击“报文”,选择“字段”,在字段名称中键入:ieProductManager,字段类型选择“String”,在拼包表达式或字段默认输入框中输入字段值:"尹敬",字段描述中键入:"产品研发经理",新建[ieProductManager]字段
  2. 重复步骤1,创建[ieCustomName]字段
  3. 右键点击“报文”,选择“分组”,在分组名称中键入:modifyTime,新建分组
  4. 右键点击“modifyTime”分组,选择“字段”,在字段名称中键入:date,字段类型选择“String”,在拼包表达式或字段默认输入框中输入字段值:"1",字段描述中键入:"日",新建[date]字段
  5. 重复步骤4,创建[month]、[month]和[year]字段
  6. 再右键点击“报文”,选择循环,在循环名称中键入:ieProblem,循环变量键入:i,循环次数键入:1,新建循环
  7. 再右键点击“ieProblem”循环,选择“字段”,在字段名称中键入:ieProjectName,字段类型选择“String”,在拼包表达式或字段默认输入框中输入字段值:"长沙银行接口自动化及挡板工具项目",字段描述中键入:"项目名称",新建[ieProjectName]字段
  8. 重复步骤7,创建[ieCode]、[ieCommitterCode]、和[ieCommitTime]字段
  9. 重复步骤1,创建[tempId]字段

配置结果如下图

wfwx_08

因为JSON报文是自描述性报文格式,报文中包含字段名和值,所以可以使用自动拆包,避免繁琐的配置手动拆包报文格式

报文类型选03-JSON,编码选需要的字符集编码,本例中使用UTF-8。自动拆包选择:“true”。如下图:

wfwx_09

§ 配置通讯映射

配置通讯映射如下图所示,如果不需要调用微服务,beanId可填“”

wfwx_10

§ 调用客户端通讯工具类CommunicatUtil.java的静态方法send发送请求

配置完毕之后,可通过CommunicatUtil类的静态方法send实现报文的发送。

类CommunicatUtil的全名为: cn.com.yusys.yusp.bsp.communication.CommunicatUtil

adapterName填入上面配置的接出适配器名称,mappingId填入映射ID,context填入上下文信息

本例子中创建了一个SendResource类及SendService类,来模拟Spring容器环境

wfwx_11

wfwx_12

之后启动注册中心服务、UAA及gateway服务,在Swagger中即可测试,测试结果如下图所示

wfwx_13

部分测试日志截图:

wfwx_14

§ 示例工程

附上整个gateway示例工程

gateway.rar

最后更新于: 4/28/2022, 5:10:13 PM