CN118070770A - 一种报文生成方法及装置 - Google Patents
一种报文生成方法及装置 Download PDFInfo
- Publication number
- CN118070770A CN118070770A CN202410226898.8A CN202410226898A CN118070770A CN 118070770 A CN118070770 A CN 118070770A CN 202410226898 A CN202410226898 A CN 202410226898A CN 118070770 A CN118070770 A CN 118070770A
- Authority
- CN
- China
- Prior art keywords
- message
- target
- template
- environment
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000001960 triggered effect Effects 0.000 claims description 39
- 238000012360 testing method Methods 0.000 claims description 36
- 230000014509 gene expression Effects 0.000 claims description 21
- 230000000007 visual effect Effects 0.000 claims description 20
- 238000004088 simulation Methods 0.000 claims description 13
- 238000009877 rendering Methods 0.000 claims description 8
- KLPWJLBORRMFGK-UHFFFAOYSA-N Molindone Chemical compound O=C1C=2C(CC)=C(C)NC=2CCC1CN1CCOCC1 KLPWJLBORRMFGK-UHFFFAOYSA-N 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 6
- 229940028394 moban Drugs 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000004043 responsiveness Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011981 development test Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种报文生成方法及装置,其中该方法包括:先确定目标报文模板和目标环境信息,目标报文模板是基于报文模板选择操作确定的,目标环境信息是基于报文环境配置操作确定的;然后,将目标报文模板转换为模板节点树,并对模板节点树中的叶子节点进行赋值,得到报文节点树;进而,将报文节点树转换为对应的初始报文;基于该初始报文和目标环境信息,生成报文详情信息;根据所述报文详情信息,生成目标报文。该方法能够自动生成清算业务中的报文,缩短了报文生成耗时,提高了报文生成效率,且降低了使用者的技术门槛。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种报文生成方法及装置。
背景技术
面对如今错综复杂的经济形势,金融机构的清算业务需要不断进行业务升级和创新,相关的清算系统在业务上线过程中需要组织各级业务人员开展测试以及验收工作。在日常开发以及业务测试中,需要相关业务人员模拟多业务场景报文测试案例,在此过程中,相关业务人员需要手动模拟业务报文,并人工组装以及拼接请求报文体。
然而,由相关业务人员手动配置相关系统环境,并手动组装报文,对于相关业务人员的技术要求极高;此外,人工手动组装报文容易出错,且报文的组装耗时长、效率低。
发明内容
本申请实施例提供了一种报文生成方法及装置,能够自动生成清算业务中的报文,缩短了报文生成耗时,提高了报文生成效率,且降低了使用者的技术门槛。
有鉴于此,本申请第一方面提供了一种报文生成方法,所述方法包括:
确定目标报文模板和目标环境信息;所述目标报文模板是基于报文模板选择操作确定的,所述目标环境信息是基于报文环境配置操作确定的;
将所述目标报文模板转换为模板节点树,并对所述模板节点树中的叶子节点进行赋值,得到报文节点树;
将所述报文节点树转换为对应的初始报文;
基于所述初始报文和所述目标环境信息,生成报文详情信息;
根据所述报文详情信息,生成目标报文。
可选的,所述确定目标报文模板和目标环境信息,包括:
接收基于报文模板集合触发的报文模板选择操作,将所述报文模板选择操作选中的报文模板作为所述目标报文模板;所述报文模板集合中包括预先整理的多种清算业务报文模板;
接收基于系统集合触发的系统选择操作,确定所述系统选择操作选中的目标系统;接收基于所述目标系统对应的环境集合触发环境选择操作,确定所述环境选择操作选中的目标环境;接收基于所述目标环境对应的接口集合触发的接口选择操作,确定所述接口选择操作选中的目标接口;将所述目标系统、目标环境和所述目标接口作为所述目标环境信息。
可选的,所述对所述模板节点树中的叶子节点进行赋值,包括:
初始化当前节点绝对路径,开始遍历递归;
若所述当前节点绝对路径的最末节点非叶子节点,则更新所述当前节点绝对路径,继续遍历所述最末节点下的子节点;
若所述当前节点绝对路径的最末节点为叶子节点,则根据所述当前节点绝对路径查找模拟规则配置表,得到对应的正则表达式以及业务标签;根据所述正则表达式和所述业务标签,调用数据模拟开源库,生成目标规则内容,并根据所述目标规则内容更新所述叶子节点对应的节点值。
可选的,所述基于所述初始报文和所述目标环境信息,生成报文详情信息,包括:
读取所述目标环境信息对应的可视化配置信息;
根据所述可视化配置信息和响应性原理,在报文详情页面渲染所述报文详情信息中的场景字段内容;
遍历所述初始报文,从所述初始报文中提取报文字段内容;在所述报文详情页面渲染所述报文详情信息中的所述报文字段内容。
可选的,所述根据所述报文详情信息,生成目标报文,包括:
接收针对所述报文详情信息的编辑调整操作,根据所述编辑调整操作,确定目标报文详情信息;
根据所述目标报文详情信息,生成所述目标报文。
可选的,所述根据所述目标报文详情信息,生成所述目标报文,包括:
基于预先配置的案例配置项列表,根据所述目标报文详情信息,生成所述目标报文。
可选的,所述方法还包括:
在将所述目标报文转发至目标测试环境之前,基于xsd校验文件,对所述目标报文进行合法性校验。
可选的,所述方法还包括:
在所述目标报文通过所述合法性校验的情况下,通过目标代理中与所述目标测试环境对应的接口服务,基于所述目标测试环境支持的数据传输协议将所述目标报文发送至所述目标测试环境。
可选的,所述方法还包括:
响应针对所述目标报文触发的保存操作,将所述目标报文保存至本地;
响应针对所述目标报文触发的重发操作,重新发送所述目标报文;
响应针对所述目标报文触发的标签设置操作,设置所述目标报文对应的标签;
响应针对所述目标报文触发的详情查看操作,显示所述目标报文对应的报文详情信息。
本申请第二方面提供了一种报文生成装置,所述装置包括:
确定模块,用于确定目标报文模板和目标环境信息;所述目标报文模板是基于报文模板选择操作确定的,所述目标环境信息是基于报文环境配置操作确定的;
节点树生成模块,用于将所述目标报文模板转换为模板节点树,并对所述模板节点树中的叶子节点进行赋值,得到报文节点树;
报文转换模块,用于将所述报文节点树转换为对应的初始报文;
详情生成模块,用于基于所述初始报文和所述目标环境信息,生成报文详情信息;
报文生成模块,用于根据所述报文详情信息,生成目标报文。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种报文生成方法,该方法包括:先确定目标报文模板和目标环境信息,目标报文模板是基于报文模板选择操作确定的,目标环境信息是基于报文环境配置操作确定的;然后,将目标报文模板转换为模板节点树,并对模板节点树中的叶子节点进行赋值,得到报文节点树;进而,将报文节点树转换为对应的初始报文;基于该初始报文和目标环境信息,生成报文详情信息;根据所述报文详情信息,生成目标报文。由此可见,本申请实施例提供的报文生成方法可以自动化高效地生成清算业务中的报文;在该报文生成方法中,虽然存在部分信息需要基于人工操作确定,如需要基于报文模板选择操作确定目标报文目标,需要基于报文环境配置操作确定目标环境信息,但是这些操作对于相关操作人员的技术要求较低,即使没有相关技术背景也可直接触发相关操作;此外,上述方法可以自动将目标报文模板转换为模板节点树,通过对其中的叶子节点进行赋值得到报文节点树,进而,转换该报文节点树得到初始报文,并对初始报文和目标环境信息对应的报文详情进行进行编辑调整,基于调整后的报文详情信息生成目标报文,如此,实现流水线式的报文自动生成流程,可以有效缩短报文生成时间,提高报文生成效率,并且支持在多种场景中使用。
附图说明
图1为本申请实施例提供的报文生成方法的流程示意图;
图2为本申请实施例提供的一种用户可视化界面的示意图;
图3为本申请实施例提供的多分行机构登录机制的示意图;
图4为本申请实施例提供的报文转换的架构示意图;
图5a为本申请实施例提供的示例性的目标报文模板的示意图;
图5b为本申请实施例提供的模板节点树的示意图;
图6为本申请实施例提供的初始报文和报文详情信息的示意图;
图7为本申请实施例提供的一种场景中的请求报文体的示意图;
图8为本申请实施例提供的另一种场景中的请求报文体的示意图;
图9为本申请实施例提供的配置请求报文体的示意图;
图10为本申请实施例提供的将函数转换为字符串的示意图;
图11为本申请实施例提供的另一种用户可视化界面的示意图;
图12为本申请实施例提供的报文生成装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
参见图1,图1为本申请实施例提供的报文生成方法的流程示意图。应理解,该报文生成方法可以由计算机设备执行,该计算机设备例如可以是服务器或者终端设备。
本申请实施例基于配置式模拟规则以及响应式原理,采用前端开发框架以及后端开发框架开发设计,支持银行清算业务相关系统多渠道包括境内外币支付系统(ChinaForeign Exchange Trade System,CFXPS)、环球银行金融电信协会(Society forWorldwide Interbank Financial Telecommunications,SWIFT)、人民币跨境支付系统(Cross-border Interbank Payment System,CIPS)、中国现代化支付系统(ChinaNational Advanced Payment System,CNAPS)等业务报文案例测试。基于配置式解析以及Mock库实时更新业务报文库,提取业务场景标签,然后通过Golang中间件基于xsd文件进行报文全文合法性校验,最后通过服务器后台进行报文转发。
具体的,如图1所示,该报文生成方法包括以下步骤:
步骤101:确定目标报文模板和目标环境信息;所述目标报文模板是基于报文模板选择操作确定的,所述目标环境信息是基于报文环境配置操作确定的。
在本申请实施例中,当需要生成清算业务中的测试报文时,需要先确定目标报文模板和目标环境信息。其中,目标报文模板是所要生成的测试报文所依据的报文模板;具体的,相关操作人员可以通过触发报文模板选择操作来选择该目标报文模板。目标环境信息是所要生成的测试报文所应用的环境,其具体可以指示该测试报文所应用的系统、环境、接口等信息;具体的,相关操作人员可以通过触发报文环境配置操作来确定该目标环境信息。
在一种可能的实现方式中,上述步骤101可以包括:
接收基于报文模板集合触发的报文模板选择操作,将所述报文模板选择操作选中的报文模板作为所述目标报文模板;所述报文模板集合中包括预先整理的多种清算业务报文模板;
接收基于系统集合触发的系统选择操作,确定所述系统选择操作选中的目标系统;接收基于所述目标系统对应的环境集合触发环境选择操作,确定所述环境选择操作选中的目标环境;接收基于所述目标环境对应的接口集合触发的接口选择操作,确定所述接口选择操作选中的目标接口;将所述目标系统、目标环境和所述目标接口作为所述目标环境信息。
具体的,在实际应用中,可以在报文配置界面显示报文模板集合,其中包括预先基于清算业务中大量不同类型的报文归纳总结得到的多个报文模板,进而,可以接收相关操作人员基于该报文模板集合触发的报文模板选择操作,并将该报文模板选择操作所选中的报文模板作为目标报文模板。
示例性的,可以基于项目分支维度以及报文类型维度构造基础报文模板库,即上述报文模板集合,通过数据库进行持久化存储并提供后台基本数据维护接口,同时提供用户可视化界面如图2所示;报文样例模板内置基础报文样例资料库;在此区域可支持一键切换测试项目以及报文种类,通过点击报文实现一键复制粘贴报文明文至报文原文区域;同时支持用户自定义报文持久化存储、高频测试报文一键置顶功能等基础数据维护功能。
此外,在本申请实施例中,还从系统维度、环境维度以及接口维度出发,构建多系统、多环境、多地址实时切换工具,即提供了多层实时切换机制,通过持久化配置实时刷新系统、环境以及接口地址数据,支持一键切换系统环境接口信息。同时,新增环境地址与接口地址校验机制,基于环境与接口映射关系持久化配置,若当前环境与接口无合法映射关系则通过可视化界面提示用户。图2为本申请实施例提供的用户可视化界面的示意图。
如图2所示,可以在报文配置界面中显示系统选择控件,该系统选择控件例如可以是图2中“请选择系统”对应的下拉控件,通过点击该系统选择控件,可以显示系统集合,其中包括所支持的各种测试系统,进而可以基于该系统集合触发系统选择操作,以选中目标系统。如图2所示,选中目标系统后,可以显示该目标系统对应的环境集合,其中包括与目标系统相关的各个环境,进而可以基于该环境集合触发环境选择操作,以选中目标环境。选中目标环境后,可以显示该目标环境对应的接口集合,其中包括与目标环境相关的各个接口,进而可以基于该接口集合触发接口选择操作,以选中目标接口。如此通过上述一系列操作选择的目标系统、目标环境和目标接口,即为目标环境信息。
此外,在本申请实施例中,如图3所示,还可以基于清算业务跨境以及海外分行个性化服务等特性,设计多分行机构登录机制,实现登录即自动注入个性化配置至本申请实施例所提供工具总线,即用户登录系统后,可以自动化地根据该用户所属的机构,加载用于进行测试环境配置的工具主页,提高操作的便捷性。
如此,通过多层实时切换机制,支持多系统维度切换、多环境维度(如本地环境、开发环境、公共环境、测试环境、预投产环境、准生产环境等)维度切换以及接口维度切换。本申请实施例提供的工具中的系统、环境以及接口与模拟报文组报逻辑深度绑定,根据不同的环境信息,本申请实施例采用不同的组报逻辑,输出选定环境信息可正常识别与解析的请求报文体。
步骤102:将所述目标报文模板转换为模板节点树,并对所述模板节点树中的叶子节点进行赋值,得到报文节点树。
步骤103:将所述报文节点树转换为对应的初始报文。
考虑到步骤102和步骤103的实现紧密相关,故对步骤102和步骤103进行整体介绍。参见图4,图4为本申请实施例提供的报文转换的架构示意图。
如图4所示,在本申请实施例中,可以将可扩展标记语言(Extensible MarkupLanguage,XML)格式的目标报文模板,转换为伪DOM树(Document Object Model Tree),即得到模板节点树。然后,通过深度优先遍历算法遍历模板节点树,在遍历过程中,一旦匹配到叶子节点,则按照特定的叶子节点赋值规则,对该叶子节点进行赋值处理;如此递归遍历,直至完成对整个模板节点树中各个叶子节点的赋值处理,得到报文节点树。进而,调用开源库接口将该报文节点树转化成XML报文,得到对应的初始报文。
在一种可能的实现方式中,上述步骤102中的“对所述模板节点树中的叶子节点进行赋值”可以包括:
初始化当前节点绝对路径,开始遍历递归;
若所述当前节点绝对路径的最末节点非叶子节点,则更新所述当前节点绝对路径,继续遍历所述最末节点下的子节点;
若所述当前节点绝对路径的最末节点为叶子节点,则根据所述当前节点绝对路径查找模拟规则配置表,得到对应的正则表达式以及业务标签;根据所述正则表达式和所述业务标签,调用数据模拟开源库,生成目标规则内容,并根据所述目标规则内容更新所述叶子节点对应的节点值。
具体的,可以先将XML格式的目标报文模板转换为伪DOM节点树,即模板节点树。图5a即为本申请实施例提供的示例性的目标报文模板的示意图,图5b即为本申请实施例提供的模板节点树的示意图,在图5b中,数据结构类型为HTMLCollection,每个节点具有一个children属性,代表所有子节点组成的数组。
然后,基于深度优先遍历算法遍历上述模板节点树。具体的,先初始化当前节点绝对路径,然后开始递归遍历:若当前节点绝对路径的最末节点非叶子节点,则更新该当前节点绝对路径,继续遍历该最末节点下的子节点;若当前节点绝对路径的最末节点为叶子节点,则更新该当前节点绝对路径,根据该当前节点绝对路径查找模拟规则配置表,取出对应的自定义正则表达式以及相关业务标签,进而,根据正则表达式以及业务标签调用开源Mock库,生成符合对应规则的内容并更新叶子结点值;完成该叶子节点的赋值后,继续遍历父节点及相关兄弟节点。如此,按照上述方式递归遍历模板节点树中的其余节点,直至完成针对该模板节点树中各叶子节点的赋值为止,得到报文节点树。
最终,将所生成的报文节点树转换为XML格式,得到对应的初始报文。
步骤104:基于所述初始报文和所述目标环境信息,生成报文详情信息。
在本申请实施例中,得到初始报文后,可以基于该初始报文和预先配置的目标环境信息,生成报文详情信息。该报文详情信息为与初始报文和目标环境信息相关的各个配置项的具体信息,相比初始报文和目标环境信息而言,该报文详情信息更为直观;并且该报文详情信息支持编辑调整,相关操作人员可以根据实际需求对该报文详情信息进行调整,以得到更符合其应用所需的报文详情信息,进而可以根据调整后的报文详情信息生成用于测试的目标报文。
在一种可能的实现方式中,上述步骤104“基于所述初始报文和所述目标环境信息,生成报文详情信息”可以包括:
读取所述目标环境信息对应的可视化配置信息;
根据所述可视化配置信息和响应性原理,在报文详情页面渲染所述报文详情信息中的场景字段内容;
遍历所述初始报文,从所述初始报文中提取报文字段内容;在所述报文详情页面渲染所述报文详情信息中的所述报文字段内容。
具体的,可以对初始报文和目标环境信息进行实时解析,从而渲染显示报文详情信息中对应的字段内容。图6为本申请实施例提供的初始报文和报文详情信息的示意图,如图6所示,左侧为原始的初始报文,右侧为对初始报文和目标环境信息进行解析得到的报文详情信息。
具体实现时,可以将目标环境信息映射为对应的场景编号。然后,根据场景编号读取可视化配置信息,可视化配置信息具体可以包括场景编号对应的场景案例相关的请求报文所涉及的字段名、可视化布尔值、字段正则表达式等配置,一个场景编号通常对应多条配置项。进而,可以根据可视化配置信息结合响应性原理实时渲染场景字段内容,也可称为场景标签,例如场景A字段1、字段2、字段3等需要显示,场景B字段4、字段5、字段6等字段显示。
此外,还可以根据可视化配置正则表达式列表,依次遍历初始报文,提取初始报文中的报文字段内容,并实时渲染该报文字段内容;例如,针对场景A测试案例,通过报文类型正则表达式提取报文类型标签,通过渠道正则表达式提取业务渠道标签,等等。
需要说明的是,上述操作可以称为场景解析操作,该场景解析操作不同于节点树模拟生成操作,场景解析操作主要侧重于场景案例的通用场景标签,不同于一般的业务标签,通用场景标签例如报文类型、渠道等标签往往决定测试案例系统内流程走向,需要提供用户实时更新机制,因此基于可视化提供用户交互。
步骤105:根据所述报文详情信息,生成目标报文。
根据初始报文和目标环境信息,生成可视化的报文详情信息后,可以基于该报文详情信息生成目标报文。
在一种可能的实现方式中,上述步骤105“根据所述报文详情信息,生成目标报文”可以包括:
接收针对所述报文详情信息的编辑调整操作,根据所述编辑调整操作,确定目标报文详情信息;
根据所述目标报文详情信息,生成所述目标报文。
具体的,在该步骤中,相关操作人员可以根据实际应用需求对报文详情信息进行编辑调整操作,以得到符合实际测试需求的目标报文详情信息。进而,可以根据该目标报文详情信息,生成具体的目标报文。
具体生成目标报文时,可以基于预先配置的案例配置项列表,根据所述目标报文详情信息,生成所述目标报文。
在本申请实施例中,可以通过场景融合操作,自动组装报文请求体,针对常见请求体字段进行加密、更新、生成等操作,生成清算业务相关系统等可正常接收和解析的特定业务场景的请求报文体,即目标报文。图7和图8分别示出了两种不同场景中的请求报文体。
场景融合操作的具体实现如下:预先配置相关案例请求报文体字段,配置项例如可以包括案例编号、请求体字段名、字段更新函数表达式、是否生效标识等等;依次读取案例配置项列表,根据对应配置更新当前请求报文体,得到目标报文。
作为示例,如图9所示,可以引入lamda表达式,依次读取每个配置项,将每个字段更新函数作为单个独立的lambda表达式,对于请求报文体进行进一步处理,最后输出融合特定场景标签的请求报文体,即目标报文。
伪代码具体如下:
let body;
let funcs=[func1,func2,func3...];
funcs.forEach((func)=>{
let func=new Function('body',func);
body=func(body);
});
return body;
以下为常见示例配置:
1)读取参与者信息配置,利用正则表达式获取报文发起接收参与者,并进行随机位替换操作,满足清算业务环境脱敏要求;如图10所示,是一个正常的函数,本申请实施例通过序列号将此函数转换成字符串,然后持久化成场景配置函数表达式列;
2)读取序列号信息配置,根据正则表达式随机生成指定格式的序列号,以满足请求报文唯一性要求;
3)读取MsgId标识号配置,根据正则表达式随机生成指定格式的标识号,并进行原文相应域字段内容替换;
4)读取body域字段配置,若为CIPSCFXPS|CNAPS渠道报文,则对原文直接进行Base64加密,若为SWIFT渠道报文,则首先对于报文body域进行Base64加密然后对于原文进行二次Base64加密;
5)读取随机域一致字段配置,例如,某些业务场景要求报文域A和域B内容一致,但是需要每次随机生成,通过此配置,保证域A和域B填充同一随机数。
在一种可能的实现方式中,本申请实施例提供的方法还可以包括:
在将所述目标报文转发至目标测试环境之前,基于xsd校验文件,对所述目标报文进行合法性校验。
即可以基于Golang以及Xsd校验库实现目标报文明文合法性校验。具体的,可以通过Xsd校验库以及Iris框架构造报文合法性校验中间件,以实现在将请求报文转发至相应测试环境之前,对于目标报文明文进行基于xsd文件的合法性校验,保证所生成的目标报文合规。通过校验结果及时通知用户目标报文是否非法,避免由于将不合规的报文发送至测试环境而导致解析失败,进而避免相关人员耗费人力物力排查日志定位bug,从而节省用户大量时人力物力。
在一种可能的实现方式中,本申请实施例提供的方法还可以包括:
在所述目标报文通过所述合法性校验的情况下,通过目标代理中与所述目标测试环境对应的接口服务,基于所述目标测试环境支持的数据传输协议将所述目标报文发送至所述目标测试环境。
由于不同接口服务通常采用不同的数据传输协议,例如,系统A接口支持http协议,系统B接口服务大多数支持TCP协议,本申请实施例提供的工具通过后台在目标代理中搭建通用发报接口,根据不同的环境信息构造基于不同传输协议发报接口,适配相应的接口服务,实现模拟报文正常转发至对应环境地址接口;另外,考虑到银行内清算相关开发测试以及业务人员日常测试过程中需要单独打通新的网络环境,本申请实施例通过构造基于目标代理的转发接口,解决了网络连通性难题,实现本地一键连通至各环境地址。
在一种可能的实现方式中,本申请实施例提供的方法还可以包括:
响应针对所述目标报文触发的保存操作,将所述目标报文保存至本地;
响应针对所述目标报文触发的重发操作,重新发送所述目标报文;
响应针对所述目标报文触发的标签设置操作,设置所述目标报文对应的标签;
响应针对所述目标报文触发的详情查看操作,显示所述目标报文对应的报文详情信息。
即本申请实施例支持用户将历史生成的目标报文保存至本地,且支持一键重发报文、实时查看报文对应详情信息、针对历史报文添加标签以及全部历史报文标签筛选等功能,历史报文一键备份以及导入功能;同时提供用户可视化界面如图11所示。
本申请实施例提供的报文生成方法,可以自动化高效地生成清算业务中的报文;在该报文生成方法中,虽然存在部分信息需要基于人工操作确定,如需要基于报文模板选择操作确定目标报文目标,需要基于报文环境配置操作确定目标环境信息,但是这些操作对于相关操作人员的技术要求较低,即使没有相关技术背景也可直接触发相关操作;此外,上述方法可以自动将目标报文模板转换为模板节点树,通过对其中的叶子节点进行赋值得到报文节点树,进而,转换该报文节点树得到初始报文,并对初始报文和目标环境信息对应的报文详情进行进行编辑调整,基于调整后的报文详情信息生成目标报文,如此,实现流水线式的报文自动生成流程,可以有效缩短报文生成时间,提高报文生成效率,并且支持在多种场景中使用。
本申请实施例还提供了一种报文生成装置。参见图12,图12为本申请实施例提供的报文生成装置的结构示意图,如图12所示,该装置包括:
确定模块1201,用于确定目标报文模板和目标环境信息;所述目标报文模板是基于报文模板选择操作确定的,所述目标环境信息是基于报文环境配置操作确定的;
节点树生成模块1202,用于将所述目标报文模板转换为模板节点树,并对所述模板节点树中的叶子节点进行赋值,得到报文节点树;
报文转换模块1203,用于将所述报文节点树转换为对应的初始报文;
详情生成模块1204,用于基于所述初始报文和所述目标环境信息,生成报文详情信息;
报文生成模块1205,用于根据所述报文详情信息,生成目标报文。
可选的,所述确定模块1201具体用于:
接收基于报文模板集合触发的报文模板选择操作,将所述报文模板选择操作选中的报文模板作为所述目标报文模板;所述报文模板集合中包括预先整理的多种清算业务报文模板;
接收基于系统集合触发的系统选择操作,确定所述系统选择操作选中的目标系统;接收基于所述目标系统对应的环境集合触发环境选择操作,确定所述环境选择操作选中的目标环境;接收基于所述目标环境对应的接口集合触发的接口选择操作,确定所述接口选择操作选中的目标接口;将所述目标系统、目标环境和所述目标接口作为所述目标环境信息。
可选的,所述节点树生成模块1202具体用于:
初始化当前节点绝对路径,开始遍历递归;
若所述当前节点绝对路径的最末节点非叶子节点,则更新所述当前节点绝对路径,继续遍历所述最末节点下的子节点;
若所述当前节点绝对路径的最末节点为叶子节点,则根据所述当前节点绝对路径查找模拟规则配置表,得到对应的正则表达式以及业务标签;根据所述正则表达式和所述业务标签,调用数据模拟开源库,生成目标规则内容,并根据所述目标规则内容更新所述叶子节点对应的节点值。
可选的,所述详情生成模块1204具体用于:
读取所述目标环境信息对应的可视化配置信息;
根据所述可视化配置信息和响应性原理,在报文详情页面渲染所述报文详情信息中的场景字段内容;
遍历所述初始报文,从所述初始报文中提取报文字段内容;在所述报文详情页面渲染所述报文详情信息中的所述报文字段内容。
可选的,所述报文生成模块1205具体用于:
接收针对所述报文详情信息的编辑调整操作,根据所述编辑调整操作,确定目标报文详情信息;
根据所述目标报文详情信息,生成所述目标报文。
可选的,所述报文生成模块1205具体用于:
基于预先配置的案例配置项列表,根据所述目标报文详情信息,生成所述目标报文。
可选的,所述装置还包括:
校验模块,用于在将所述目标报文转发至目标测试环境之前,基于xsd校验文件,对所述目标报文进行合法性校验。
可选的,所述装置还包括:
发送模块,用于在所述目标报文通过所述合法性校验的情况下,通过目标代理中与所述目标测试环境对应的接口服务,基于所述目标测试环境支持的数据传输协议将所述目标报文发送至所述目标测试环境。
可选的,所述装置还包括操作响应模块,用于:
响应针对所述目标报文触发的保存操作,将所述目标报文保存至本地;
响应针对所述目标报文触发的重发操作,重新发送所述目标报文;
响应针对所述目标报文触发的标签设置操作,设置所述目标报文对应的标签;
响应针对所述目标报文触发的详情查看操作,显示所述目标报文对应的报文详情信息。
本申请实施例提供的报文生成装置,可以自动化高效地生成清算业务中的报文;在该报文生成装置中,虽然存在部分信息需要基于人工操作确定,如需要基于报文模板选择操作确定目标报文目标,需要基于报文环境配置操作确定目标环境信息,但是这些操作对于相关操作人员的技术要求较低,即使没有相关技术背景也可直接触发相关操作;此外,上述装置可以自动将目标报文模板转换为模板节点树,通过对其中的叶子节点进行赋值得到报文节点树,进而,转换该报文节点树得到初始报文,并对初始报文和目标环境信息对应的报文详情进行进行编辑调整,基于调整后的报文详情信息生成目标报文,如此,实现流水线式的报文自动生成流程,可以有效缩短报文生成时间,提高报文生成效率,并且支持在多种场景中使用。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种报文生成方法,其特征在于,所述方法包括:
确定目标报文模板和目标环境信息;所述目标报文模板是基于报文模板选择操作确定的,所述目标环境信息是基于报文环境配置操作确定的;
将所述目标报文模板转换为模板节点树,并对所述模板节点树中的叶子节点进行赋值,得到报文节点树;
将所述报文节点树转换为对应的初始报文;
基于所述初始报文和所述目标环境信息,生成报文详情信息;
根据所述报文详情信息,生成目标报文。
2.根据权利要求1所述的方法,其特征在于,所述确定目标报文模板和目标环境信息,包括:
接收基于报文模板集合触发的报文模板选择操作,将所述报文模板选择操作选中的报文模板作为所述目标报文模板;所述报文模板集合中包括预先整理的多种清算业务报文模板;
接收基于系统集合触发的系统选择操作,确定所述系统选择操作选中的目标系统;接收基于所述目标系统对应的环境集合触发环境选择操作,确定所述环境选择操作选中的目标环境;接收基于所述目标环境对应的接口集合触发的接口选择操作,确定所述接口选择操作选中的目标接口;将所述目标系统、目标环境和所述目标接口作为所述目标环境信息。
3.根据权利要求1所述的方法,其特征在于,所述对所述模板节点树中的叶子节点进行赋值,包括:
初始化当前节点绝对路径,开始遍历递归;
若所述当前节点绝对路径的最末节点非叶子节点,则更新所述当前节点绝对路径,继续遍历所述最末节点下的子节点;
若所述当前节点绝对路径的最末节点为叶子节点,则根据所述当前节点绝对路径查找模拟规则配置表,得到对应的正则表达式以及业务标签;根据所述正则表达式和所述业务标签,调用数据模拟开源库,生成目标规则内容,并根据所述目标规则内容更新所述叶子节点对应的节点值。
4.根据权利要求1所述的方法,其特征在于,所述基于所述初始报文和所述目标环境信息,生成报文详情信息,包括:
读取所述目标环境信息对应的可视化配置信息;
根据所述可视化配置信息和响应性原理,在报文详情页面渲染所述报文详情信息中的场景字段内容;
遍历所述初始报文,从所述初始报文中提取报文字段内容;在所述报文详情页面渲染所述报文详情信息中的所述报文字段内容。
5.根据权利要求1或4所述的方法,其特征在于,所述根据所述报文详情信息,生成目标报文,包括:
接收针对所述报文详情信息的编辑调整操作,根据所述编辑调整操作,确定目标报文详情信息;
根据所述目标报文详情信息,生成所述目标报文。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标报文详情信息,生成所述目标报文,包括:
基于预先配置的案例配置项列表,根据所述目标报文详情信息,生成所述目标报文。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述目标报文转发至目标测试环境之前,基于xsd校验文件,对所述目标报文进行合法性校验。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述目标报文通过所述合法性校验的情况下,通过目标代理中与所述目标测试环境对应的接口服务,基于所述目标测试环境支持的数据传输协议将所述目标报文发送至所述目标测试环境。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对所述目标报文触发的保存操作,将所述目标报文保存至本地;
响应针对所述目标报文触发的重发操作,重新发送所述目标报文;
响应针对所述目标报文触发的标签设置操作,设置所述目标报文对应的标签;
响应针对所述目标报文触发的详情查看操作,显示所述目标报文对应的报文详情信息。
10.一种报文生成装置,其特征在于,所述装置包括:
确定模块,用于确定目标报文模板和目标环境信息;所述目标报文模板是基于报文模板选择操作确定的,所述目标环境信息是基于报文环境配置操作确定的;
节点树生成模块,用于将所述目标报文模板转换为模板节点树,并对所述模板节点树中的叶子节点进行赋值,得到报文节点树;
报文转换模块,用于将所述报文节点树转换为对应的初始报文;
详情生成模块,用于基于所述初始报文和所述目标环境信息,生成报文详情信息;
报文生成模块,用于根据所述报文详情信息,生成目标报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410226898.8A CN118070770A (zh) | 2024-02-29 | 2024-02-29 | 一种报文生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410226898.8A CN118070770A (zh) | 2024-02-29 | 2024-02-29 | 一种报文生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118070770A true CN118070770A (zh) | 2024-05-24 |
Family
ID=91096919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410226898.8A Pending CN118070770A (zh) | 2024-02-29 | 2024-02-29 | 一种报文生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118070770A (zh) |
-
2024
- 2024-02-29 CN CN202410226898.8A patent/CN118070770A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11714792B2 (en) | Creating data in a data store using a dynamic ontology | |
CN111930635B (zh) | 基于swagger快速自动化测试的方法及系统 | |
KR101755365B1 (ko) | 레코드 포맷 정보의 관리 | |
CN113312108B (zh) | Swift报文的校验方法、装置、电子设备及存储介质 | |
CN112988601A (zh) | 测试脚本开发方法及装置 | |
CN110727580A (zh) | 响应数据生成、全流程接口数据处理方法及相关设备 | |
CN107015948A (zh) | 一种日志信息格式化方法及系统 | |
Wenhui et al. | Study on REST API test model supporting web service integration | |
CN114168149A (zh) | 一种数据转换方法及装置 | |
CN114385722A (zh) | 接口属性的一致性校验方法、装置、电子设备和存储介质 | |
CN117632710A (zh) | 测试代码的生成方法、装置、设备及存储介质 | |
KR100762712B1 (ko) | 규칙기반의 전자문서 변환방법 및 그 시스템 | |
CN118070770A (zh) | 一种报文生成方法及装置 | |
CN114218105A (zh) | 一种基于配置即应用模式的ui自动化回归测试系统 | |
CN113886216B (zh) | 接口测试和工具配置方法、装置、电子设备和存储介质 | |
CN109977385B (zh) | 一种数据智能填充方法、装置、存储介质及终端 | |
CN114398152A (zh) | 接口仿真服务调用方法及装置 | |
CN114115833B (zh) | 协议审计代码自动生成方法及装置 | |
CN111949716B (zh) | 格式化数据输出字段处理方法、计算机设备及存储介质 | |
CN116340156A (zh) | 应用程序的Web页面测试方法、装置、设备和介质 | |
CN116938669A (zh) | 网络设备的管理方法及装置 | |
CN116467276A (zh) | 数据处理方法、装置及电子设备 | |
CN117742830A (zh) | 一种基于JSONPath实现统一配置业务系统的方法及装置 | |
CN116400887A (zh) | 基于FreeMark生成入参报文的方法及系统 | |
CN117851487A (zh) | 数据采集方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |