CN116756028A - 报文交互方法、装置、设备及介质 - Google Patents

报文交互方法、装置、设备及介质 Download PDF

Info

Publication number
CN116756028A
CN116756028A CN202310770176.4A CN202310770176A CN116756028A CN 116756028 A CN116756028 A CN 116756028A CN 202310770176 A CN202310770176 A CN 202310770176A CN 116756028 A CN116756028 A CN 116756028A
Authority
CN
China
Prior art keywords
message
response
request message
type
request
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
Application number
CN202310770176.4A
Other languages
English (en)
Inventor
乔建成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202310770176.4A priority Critical patent/CN116756028A/zh
Publication of CN116756028A publication Critical patent/CN116756028A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Abstract

本申请提供一种报文交互方法、装置、设备及介质,可用于金融领域。该方法包括:在系统测试过程中,获取来自待测业务系统的请求报文;从请求报文的报文头,获取请求报文的业务类型;基于业务类型对应的报文结构定义文件,对请求报文的报文体进行解析,得到请求报文对应的解析结果;基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与请求报文的业务类型对应的应答报文类型;结合模拟应答报文的报文类型和解析结果,生成模拟应答报文;将模拟应答报文发送给待测业务系统。从而,通过为待测业务系统提供自动的模拟报文应答,提高了测试效率。

Description

报文交互方法、装置、设备及介质
技术领域
本申请涉及金融领域,尤其涉及一种报文交互方法、装置、设备及介质。
背景技术
业务系统在开发过程中,需要通过报文交互的方式进行业务能力的测试。
假定A系统与B系统进行报文交互,A系统是待进行业务能力测试的业务系统,A系统可以通过与B系统进行报文交互的方式进行业务能力的测试。如果B系统还未开发完成或者B系统无法与A系统建立通信连接,则A系统无法自动进行业务能力的测试,需要由人工模拟B系统向A系统发送报文。
上述需要人工介入进行测试的方式效率较低。
发明内容
本申请提供一种报文交互方法、装置、设备及介质,用以系统进行业务能力测试时的效率较低的问题。
第一方面,本申请提供一种报文交互方法,包括:
在系统测试过程中,获取来自待测业务系统的请求报文;
从所述请求报文的报文头,获取所述请求报文的业务类型;
基于所述业务类型对应的报文结构定义文件,对所述请求报文的报文体进行解析,得到所述请求报文对应的解析结果;
基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与所述请求报文的业务类型对应的应答报文类型;
结合所述模拟应答报文的报文类型和所述解析结果,生成所述模拟应答报文;
将所述模拟应答报文发送给所述待测业务系统。
第二方面,本申请提供一种报文交互装置,包括:
报文获取模块,用于在系统测试过程中,获取来自待测业务系统的请求报文;
类型获取模块,用于从所述请求报文的报文头,获取所述请求报文的业务类型;
报文解析模块,用于基于所述业务类型对应的报文结构定义文件,对所述请求报文的报文体进行解析,得到所述请求报文对应的解析结果;
类型确定模块,用于基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与所述请求报文的业务类型对应的应答报文类型;
报文生成模块,用于结合所述模拟应答报文的报文类型和所述解析结果,生成所述模拟应答报文;
报文发送模块,用于将所述模拟应答报文发送给所述待测业务系统。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面提供的报文交互方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面提供的报文交互方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如第一方面提供的报文交互方法。
本申请提供的报文交互方法、装置、设备及存储介质,在系统测试过程中,针对待测系统的请求报文,通过请求报文的业务类型对应的报文结构定义文件,对请求报文的报文体进行解析,得到请求报文对应的解析结果,提高了对请求报文进行解析的准确性;基于配置的请求业务类型与应答报文类型的对应关系,为模拟应答报文确定报文类型,基于模拟应答报文的报文类型和请求报文的解析结果,生成模拟应答报文,实现应答报文的自动生成;将模拟应答报文发送给待测业务系统。如此,避免了手动生成用于系统业务能力测试的应答报文,有效地提高了系统业务能力测试的效率,降低了人工成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请的应用场景的示例图;
图2为本申请实施例提供的一种报文交互方法的流程示意图一;
图3为本申请实施例提供的一种报文交互方法的流程示意图二;
图4为本申请实施例提供的报文交互装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请提供的报文交互方法、装置、设备及存储介质可用于金融领域以及与金融领域相关的领域,也可用于除金融领域之外的任意领域,本申请提供的报文交互方法、装置、设备及存储介质的应用领域不做限定。
首先,对本申请涉及到的部分用语进行解释:
Java编程语言:是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具有封装、继承、多态、抽象等面向对象语言的特性。
可扩展标记语言(Extensible Markup Language,XML)文件:可以用来标记数据、定义数据类型,可以用于描述和存放结构化数据。
用于XML绑定的Java体系结构(Java Architecture for XML Binding,JAXB):是一种可以根据XML Schema(一种编写XML实例文档的语法)产生Java类的技术。JAXB提供了将XML实例文档反向生成Java对象树的方法,还可以将Java对象树的内容重新写到XML实例文档中。换句话说,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
待测业务系统的开发与测试通常需要与其他系统进行报文交互,依赖于对端系统的连接。在对端系统未连接或者未开发完毕的情况下,依赖人工模拟生成应答报文,将应答报文发送给待测业务系统,导致人力成本较高,测试效率低。
为解决上述缺点,本申请提供了一种报文交互方法、装置、设备及介质。在本申请中,基于配置的请求业务类型与应答报文类型的对应关系,为待测业务系统的请求报文,模拟生成相应的应答报文,起到了模拟应答系统的作用,在应答系统不能用的情况下能够模拟应答系统给测试系统发送应答报文,即自动为待测业务系统生成预期的应答报文,无需人工生成业务应答报文,有效提高了业务测试效率,有利于将业务问题发现的时刻前移,进而提高系统的开发效率和质量。
本申请具体的应用场景为业务系统的业务测试(或者业务验证)场景,图1为本申请的应用场景的示例图。如图1所示,待测业务系统所在的装置101可向模拟应答装置102发送请求报文,模拟应答装置102可以基于本申请提供的报文交互方法生成请求报文对应的模拟应答报文,将模拟应答报文发送给待测业务系统所在的装置101。
其中,待测业务系统所在的装置101与模拟应答装置102可以是同一装置,也可以是不同的装置,既可以是终端,也可以是服务器,图1以待测业务系统所在的装置101为终端,模拟应答装置102为服务器为例。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种报文交互方法的流程示意图一,该方法应用于模拟应答装置。如图2所示,报文交互方法包括如下步骤:
S201,在系统测试过程中,获取来自待测业务系统的请求报文。
本实施例中,在待测业务系统的业务测试的过程中,获取来自待测业务系统的请求报文,其中,请求报文可用于:请求执行与业务相关的操作、请求获取与业务相关的数据、请求与业务相关的授权等等。比如,业务为票据业务,具体又可以细化为出票、提示承兑、提示收票、背书、贴现等。
S202,从请求报文的报文头,获取请求报文的业务类型。
其中,报文的帧结构包括报文头和报文体。在请求报文的报文头中包含请求报文的业务类型,比如,请求报文的业务类型为票据业务,进一步细化,又如,请求报文的业务类型为票据业务中的背书业务。在请求报文的报文体中包括请求报文的报文内容。
本实施例中,可将请求报文拆分为报文头和报文体,从请求报文的报文头中,获取得到请求报文的业务类型。
S203,基于业务类型对应的报文结构定义文件,对请求报文的报文体进行解析,得到请求报文对应的解析结果。
其中,报文结构定义文件又可以称为报文结构描述文件、文档结构描述文件,用于描述报文中可以出现的数据(比如出现的元素、属性)、数据的顺序、数据的数量、数据的类型、数据的默认值等,所以,报文结构描述文件可以用于辅助报文的解析。
其中,考虑到业务类型不同,待测业务系统所发送的报文中可能包含不同的数据,所以不同业务类型可以对应不同的报文结构定义文件。
本实施例中,可从多个报文结构定义文件中,查找请求报文的报文类型对应的报文结构定义文件,由于报文结构定义文件中描述了报文中出现的数据,可基于请求报文的报文类型对应的报文结构定义文件,对请求报文的报文体进行解析,得到请求报文对应的解析结果。从而,利用报文类型准确选择报文结构定义文件,提高了请求报文解析的准确性。
S204,基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与请求报文的业务类型对应的应答报文类型。
其中,请求业务类型是指请求报文(不限于在S201中获取的请求报文)的业务类型,应答报文类型是指应答报文的报文类型。针对不同的业务请求,可以给出相同或者不同的应答,所以可以预先配置请求业务类型与应答报文类型的对应关系,以向待测业务系统给出报文类型准确的模拟应答报文。
本实施例中,在请求业务类型与应答报文类型的对应关系中,查找与请求报文的业务类型对应的应答报文类型,确定模拟应答报文的报文类型为该应答报文类型。
S205,结合模拟应答报文的报文类型和解析结果,生成模拟应答报文。
本实施例中,可基于模拟应答报文的报文类型,生成模拟应答报文的报文头,基于请求报文的解析结果,生成模拟应答报文的报文体;结合模拟应答报文的报文头和模拟应答报文的报文体,得到模拟应答报文。
S206,将模拟应答报文发送给待测业务系统。
本实施例中,将模拟应答报文发送给待测业务系统,以帮助待测业务系统完成业务测试,从而,通过模拟应答的方式,提高业务测试的便捷性和效率。
本申请实施例中,基于请求报文的业务类型,采用相应的报文结构定义文件解析请求报文的报文体,得到解析结果,提高了报文解析的准确性;基于请求报文的报文类型和配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型,再结合模拟应答报文的报文类型和请求报文的解析结果,为待测业务系统的请求报文模拟生成相应的应答报文,起到了模拟应答系统的作用,在应答系统不能用的情况下能够模拟应答系统给测试系统发送应答报文,即自动为待测业务系统生成预期的应答报文,有效提高了业务测试效率,有利于将业务问题发现的时刻前移,进而提高系统的开发效率和质量。
可选的,请求报文可为XML报文,报文结构定义文件可为XML报文结构定义(XMLschema definition,xsd)文件,模拟应答报文也可为XML报文。从而,本申请实施例能够对待测业务系统发送的XML报文生成用于应答的XML报文并回复给待测业务系统,实现与待测业务系统之间的XML报文交互。
可选的,解析结果的数据结构可以为编程对象(一种编程语言定义的数据结构),以便可以通过编程语言实现基于解析结果生成相应的模拟应答报文。
在一种可能的实现方式中,基于请求报文为XML报文,报文结构定义文件为xsd文件,解析结果的数据结构为编程对象,S203可包括:按照请求报文的业务类型对应的xsd文件,将请求报文的报文体解析为编程对象,得到解析结果。从而,基于xsd文件将请求报文的报文体转换为相应的编程对象,便于通过编程语言实现模拟应答报文的生成。
进一步可选的,解析结果的数据结构为Java对象,编程语言为Java。
在一种可能的实现方式中,基于解析结果的数据结构为Java对象,按照请求报文的业务类型对应的xsd文件,将请求报文的报文体解析为编程对象,得到解析结果,包括:通过JAXB组件,将请求报文的报文体按照请求报文的业务类型对应的xsd文件解析为Java对象,得到解析结果。从而,利用JAXB具备快速简便地将XML模式绑定到Java表示的能力,按照xsd文件将请求报文的报文体转换为Java对象,提高了将请求报文的报文体转换为Java对象的效率和准确性,即提高了报文的解析效率和准确性。
可选的,解析结果中包括如下一种或者多种内容:请求报文标识、业务发起方信息、业务应答方信息、业务信息。以背书业务为例,请求报文中主要信息包括请求报文标识、背书人信息(业务发起方信息)、被背书人信息(业务接收方信息)、票据信息。其中,请求报文标识用于标识请求报文。可基于解析结果中的请求报文标识区分不同的请求报文,可基于解析结果中的业务发起方信息,知晓请求报文来自待测业务系统,可基于解析结果中的业务应答方信息,知晓请求报文所要发送至的对端系统,基于解析结果中的业务信息,知晓请求报文所请求的业务的更详细的信息。基于这些信息,能够提高模拟应答报文的准确性。
图3为本申请实施例提供的一种报文交互方法的流程示意图二,该方法应用于模拟应答装置。如图3所示,报文交互方法包括如下步骤:
S301,在系统测试过程中,获取来自待测业务系统的请求报文。
S302,从请求报文的报文头,获取请求报文的业务类型。
S303,基于业务类型对应的报文结构定义文件,对请求报文的报文体进行解析,得到请求报文对应的解析结果。
S304,基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与请求报文的业务类型对应的应答报文类型。
其中,S301~S304的实现原理和技术效果可参照前述实施例,不再赘述。
S305,生成模拟应答报文的报文头,报文头中包含模拟应答报文的报文类型。
其中,S305是报文头的生成过程,S306~S309是报文体的生成过程,S305可以在S306~S309之前进行,也可以在S306~S309之后进行,还可以同时进行。
本实施例中,可将模拟应答报文的报文类型写入模拟应答报文的报文头中。
S306,生成应答报文标识。
其中,应答报文标识用于标识模拟应答报文。
本实施例中,可以随机生成应答报文标识,也可以按照一定规则生成应答报文标识。在此对生成应答报文标识的规则不做限定。
S307,确定应答方信息为解析结果中的业务接收方信息。
本实施例中,应答方即业务接收方,所以可确定应答方信息为业务接收方信息。
例如,以背书业务为例,可以从应答报文取出被背书人信息(即业务接收方信息)作为应答人信息。
S308,对解析结果中的请求报文标识、应答报文标识和应答方信息进行组合,得到请求报文对应的应答内容。
本实施例中,对解析结果中的请求报文标识、应答报文标识和应答方信息进行组合,得到请求报文对应的应答内容,使得应答内容中包括请求报文标识、应答报文标识和应答方信息,便于待测系统接收到模拟应答报文后可确定模拟应答报文是应答方对请求报文的应答,使得模拟应答报文贴近真实的应答报文。
S309,通过报文结构定义文件,将应答内容转换为模拟应答报文的报文体。
其中,报文结构定义文件为请求报文的业务类型对应的报文结构定义文件。
本实施例中,按照报文结构定义文件中对报文中数据的相关描述,将应答内容转换为模拟应答报文的报文体,提高报文体生成的准确性。
S310,将模拟应答报文的报文头与模拟应答报文的报文体结合,得到模拟应答报文。
S311,将模拟应答报文发送给待测业务系统。
本实施例中,将包含报文头和报文体的模拟应答报文发送给待测业务系统,实现对待测业务系统的请求报文的模拟应答,帮助待测业务系统完成业务测试。
本申请实施例中,对请求报文解析后,得到解析结果;基于请求报文的报文类型和配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型;先基于报文类型,生成模拟应答报文的报文头,再基于模拟应答报文的报文类型对应的报文结构定义文件和需要写入报文体的内容,生成模拟应答报文的报文体,为待测业务系统的请求报文模拟生成相应的应答报文,起到了模拟应答系统的作用,有效提高了业务测试效率,有利于将业务问题发现的时刻前移,进而提高系统的开发效率和质量。
在一种可能的实现方式中,模拟应答报文为XML报文,报文结构定义文件为xsd文件,应答内容的数据结构为编程对象,基于此,S309可包括:按照请求报文的业务类型对应的xsd文件,将应答内容从编程对象转换为XML报文,得到模拟应答报文的报文体。从而,可以模拟与待测业务系统之间的XML报文交互。
进一步的,应答内容的数据结构为Java对象,按照请求报文的业务类型对应的xsd文件,将应答内容从编程对象转换为XML报文,得到模拟应答报文的报文体,可包括:通过JAXB组件,按照请求报文的业务类型对应的xsd文件将应答内容从Java对象转换为XML报文,得到模拟应答报文的报文体。从而,利用JAXB具备将Java对象树的内容重新写到XML实例文档中的能力,按照xsd文件将应答内容从Java对象转换为XML报文,提高了按照xsd文件将应答内容从Java对象转换为XML报文的效率和准确性。
基于前述任一实施例,可选的,请求报文的获取过程包括:从监听得到的消息队列中,获取来自待测业务系统的请求报文。从而,通过监听方式及时获取得到请求报文,提高对待测业务系统进行报文响应的效率,进而提高测试效率。
基于前述任一实施例,可选的,应答报文类型可包括同意和拒绝,模拟应答报文的报文类型可以为同意或者拒绝。从而,可以根据待测业务系统的请求报文的业务类型,向待测业务系统模拟回复同意请求报文所请求的内容或者拒绝请求报文所请求的内容。
图4为本申请实施例提供的报文交互装置的结构示意图。如图4所示,本实施例提供的报文交互装置400,包括:
报文获取模块401,用于在系统测试过程中,获取来自待测业务系统的请求报文;
类型获取模块402,用于从请求报文的报文头,获取请求报文的业务类型;
报文解析模块403,用于基于业务类型对应的报文结构定义文件,对请求报文的报文体进行解析,得到请求报文对应的解析结果;
类型确定模块404,用于基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与请求报文的业务类型对应的应答报文类型;
报文生成模块405,用于结合模拟应答报文的报文类型和解析结果,生成模拟应答报文;
报文发送模块406,用于将模拟应答报文发送给待测业务系统。
在一些实施例中,请求报文为可扩展标记语言XML报文,报文结构定义文件为XML报文结构定义xsd文件,解析结果的数据结构为编程对象,报文解析模块403具体用于:按照请求报文的业务类型对应的xsd文件,将请求报文的报文体解析为编程对象,得到解析结果。
在一些实施例中,解析结果的数据结构为Java对象,报文解析模块403具体用于:通过JAXB组件,将请求报文的报文体按照请求报文的业务类型对应的xsd文件解析为Java对象,得到解析结果。
在一些实施例中,解析结果包括请求报文标识和业务接收方信息,请求报文标识用于标识请求报文,报文生成模块405具体用于:生成模拟应答报文的报文头,报文头中包含模拟应答报文的报文类型;生成应答报文标识;确定应答方信息为业务接收方信息;对请求报文标识、应答报文标识和应答方信息进行组合,得到请求报文对应的应答内容;通过报文结构定义文件,将应答内容转换为模拟应答报文的报文体;将模拟应答报文的报文头与模拟应答报文的报文体进行结合,得到模拟应答报文。
在一些实施例中,模拟应答报文为XML报文,报文结构定义文件为xsd文件,应答内容的数据结构为编程对象,报文生成模块405具体用于:按照请求报文的业务类型对应的xsd文件,将应答内容从编程对象转换为XML报文,得到模拟应答报文的报文体。
在一些实施例中,应答内容的数据结构为Java对象,报文生成模块405具体用于:通过JAXB组件,按照请求报文的业务类型对应的xsd文件将应答内容从Java对象转换为XML报文,得到模拟应答报文的报文体。
在一些实施例中,报文获取模块401具体用于:从监听得到的消息队列中,获取请求报文。
图5为本申请实施例提供的一种电子设备的结构示意图。如图5所示,该电子设备500可以包括:至少一个处理器501和存储器502。图5示出的是以一个处理器为例的电子设备。
存储器502,用于存放处理器501的程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501配置为用于执行存储器502存储的计算机程序,以实现以上各方法实施例中报文交互方法中的各步骤。
其中,处理器501可能是一个中央处理器(central processing unit,简称为CPU),或者是特定集成电路(application specific integrated circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,存储器502既可以是独立的,也可以跟处理器501集成在一起。当存储器502是独立于处理器501之外的器件时,电子设备500,还可以包括:总线503,用于连接处理器501以及存储器502。总线可以是工业标准体系结构(industry standard architecture,简称为ISA)总线、外部设备互连(peripheral component,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器502和处理器501集成在一块芯片上实现,则存储器502和处理器501可以通过内部界面完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random accessmemory,RAM)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有计算机执行指令,当电子设备的至少一个处理器执行该计算机执行指令时,电子设备执行上述的各种实施方式提供的报文交互方法的各个步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得电子设备实施上述的各种实施方式提供的报文交互方法的各个步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种报文交互方法,其特征在于,包括:
在系统测试过程中,获取来自待测业务系统的请求报文;
从所述请求报文的报文头,获取所述请求报文的业务类型;
基于所述业务类型对应的报文结构定义文件,对所述请求报文的报文体进行解析,得到所述请求报文对应的解析结果;
基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与所述请求报文的业务类型对应的应答报文类型;
结合所述模拟应答报文的报文类型和所述解析结果,生成所述模拟应答报文;
将所述模拟应答报文发送给所述待测业务系统。
2.根据权利要求1所述的报文交互方法,其特征在于,所述请求报文为可扩展标记语言XML报文,所述报文结构定义文件为XML报文结构定义xsd文件,所述解析结果的数据结构为编程对象,所述基于所述业务类型对应的报文结构定义文件,对所述请求报文的报文体进行解析,得到所述请求报文对应的解析结果,包括:
按照所述请求报文的业务类型对应的xsd文件,将所述请求报文的报文体解析为编程对象,得到所述解析结果。
3.根据权利要求2所述的报文交互方法,其特征在于,所述解析结果的数据结构为Java对象,所述按照所述请求报文的业务类型对应的xsd文件,将所述请求报文的报文体解析为编程对象,得到所述解析结果,包括:
通过JAXB组件,将所述请求报文的报文体按照所述请求报文的业务类型对应的xsd文件解析为Java对象,得到所述解析结果。
4.根据权利要求1至3中任一项所述的报文交互方法,其特征在于,所述解析结果包括请求报文标识和业务接收方信息,所述请求报文标识用于标识所述请求报文,所述结合所述模拟应答报文的报文类型和所述解析结果,生成所述模拟应答报文,包括:
生成所述模拟应答报文的报文头,所述报文头中包含所述模拟应答报文的报文类型;
生成应答报文标识;
确定应答方信息为所述业务接收方信息;
对所述请求报文标识、所述应答报文标识和所述应答方信息进行组合,得到所述请求报文对应的应答内容;
通过所述报文结构定义文件,将所述应答内容转换为所述模拟应答报文的报文体;
将所述模拟应答报文的报文头与所述模拟应答报文的报文体进行结合,得到所述模拟应答报文。
5.根据权利要求4所述的报文交互方法,其特征在于,所述模拟应答报文为XML报文,所述报文结构定义文件为xsd文件,所述应答内容的数据结构为编程对象,所述通过所述报文结构定义文件,将所述应答内容转换为所述模拟应答报文的报文体,包括:
按照所述请求报文的业务类型对应的xsd文件,将所述应答内容从编程对象转换为XML报文,得到所述模拟应答报文的报文体。
6.根据权利要求5所述的报文交互方法,其特征在于,所述应答内容的数据结构为Java对象,所述按照所述请求报文的业务类型对应的xsd文件,将所述应答内容从编程对象转换为XML报文,得到所述模拟应答报文的报文体,包括:
通过JAXB组件,按照所述请求报文的业务类型对应的xsd文件将所述应答内容从Java对象转换为XML报文,得到所述模拟应答报文的报文体。
7.根据权利要求1至3中任一项所述的报文交互方法,其特征在于,所述在系统测试过程中,获取来自待测业务系统的请求报文,包括:
从监听得到的消息队列中,获取所述请求报文。
8.一种报文交互装置,其特征在于,包括:
报文获取模块,用于在系统测试过程中,获取来自待测业务系统的请求报文;
类型获取模块,用于从所述请求报文的报文头,获取所述请求报文的业务类型;
报文解析模块,用于基于所述业务类型对应的报文结构定义文件,对所述请求报文的报文体进行解析,得到所述请求报文对应的解析结果;
类型确定模块,用于基于配置的请求业务类型与应答报文类型的对应关系,确定模拟应答报文的报文类型为与所述请求报文的业务类型对应的应答报文类型;
报文生成模块,用于结合所述模拟应答报文的报文类型和所述解析结果,生成所述模拟应答报文;
报文发送模块,用于将所述模拟应答报文发送给所述待测业务系统。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项所述的报文交互方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的报文交互方法。
CN202310770176.4A 2023-06-27 2023-06-27 报文交互方法、装置、设备及介质 Pending CN116756028A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310770176.4A CN116756028A (zh) 2023-06-27 2023-06-27 报文交互方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310770176.4A CN116756028A (zh) 2023-06-27 2023-06-27 报文交互方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116756028A true CN116756028A (zh) 2023-09-15

Family

ID=87960668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310770176.4A Pending CN116756028A (zh) 2023-06-27 2023-06-27 报文交互方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116756028A (zh)

Similar Documents

Publication Publication Date Title
CN107665171B (zh) 自动回归测试方法及装置
CN110287109B (zh) 协议接口的测试方法、装置、计算机设备及其存储介质
CN109800258B (zh) 数据文件部署方法、装置、计算机设备及存储介质
CN110554958B (zh) 图数据库测试方法、系统、设备和存储介质
CN106354634A (zh) 接口测试方法及装置
CN110263222B (zh) 一种数据获取方法、装置、设备及介质
CN110795697B (zh) 逻辑表达式的获取方法、装置、存储介质以及电子装置
CN110727580A (zh) 响应数据生成、全流程接口数据处理方法及相关设备
CN108170465A (zh) 一种版本信息管理方法、电子设备及可读存储介质
CN111752820B (zh) gRPC接口的压力测试方法、计算机设备和存储介质
CN112445490A (zh) 文件序列处理方法、装置、终端设备及存储介质
CN116756028A (zh) 报文交互方法、装置、设备及介质
CN110688823A (zh) Xml文件验证方法及装置
CN114338850B (zh) 报文核对方法、装置、终端设备及计算机可读存储介质
CN109816462A (zh) 一种发票信息的识别方法及装置
CN114896161A (zh) 基于人工智能的文件构造方法、装置、计算机设备及介质
CN115174375A (zh) 报文解包方法、装置、设备及介质
CN111258838B (zh) 验证组件生成方法、装置、存储介质及验证平台
CN113032836A (zh) 数据脱敏方法和装置
CN111338956A (zh) 一种自动化的压测方法、装置、设备和存储介质
CN113722226B (zh) 银行提现回盘测试方法、装置、计算机设备和存储介质
CN112799956B (zh) 资产识别能力测试方法、装置及系统装置
CN112181539B (zh) 文件处理方法、装置、设备及介质
CN112948266B (zh) 一种数据库语法测试系统、方法、装置、设备及存储介质
CN117215925A (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