CN106528823B - 一种报文配置及输出方法及装置 - Google Patents
一种报文配置及输出方法及装置 Download PDFInfo
- Publication number
- CN106528823B CN106528823B CN201611027224.7A CN201611027224A CN106528823B CN 106528823 B CN106528823 B CN 106528823B CN 201611027224 A CN201611027224 A CN 201611027224A CN 106528823 B CN106528823 B CN 106528823B
- Authority
- CN
- China
- Prior art keywords
- message
- data item
- length
- type
- definition
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种报文配置及输出方法及装置。所述方法包括:使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序;根据所述报文数据项的长度和先后顺序输出报文。本发明实施例的报文配置及输出方法及装置,摒弃了现有的System.arraycopy方式,减少了开发人员工作量,且支持多种报文,应用广泛,提高了开发效率;另外,本发明摒弃了读位的方法,使用顺序输出报文的方法,能够快速定位出错位置,减少错误查找时间,减少报文测试时间,提高报文测试效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种报文配置及输出方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前常用的报文配置方法,都是使用System.arraycopy方法来组装报文,存在着技术复杂、容易出错、效率低下等缺点。
以下面的一个组装报文操作为例:
System.arraycopy(retBytes,msgCdeOffset,msgCde,msgCdeStart,msgCdeLength);//将后台返回码的前9位放入字节数组;
retBytes为源字节数组报文,msgCdeOffset为源字节数组开始截取的位置,msgCde为目标字节数组报文,msgCdeStart为目标字节数组开始的位置,msgCdeLength为要截取的长度。
上面的System.arraycopy的方法的含义为,从字节数组retBytes的msgCdeOffset位置开始,截取msgCdeLength长度的字节,放入msgCde字节数组的msgCdeStart开始位置。
这种组装报文的方法十分复杂,操作也很繁琐,在开发人员的使用中非常容易出错,而且很容易造成开发人员的返工,因为报文都是一项一项的组装的,如果中间任意一项出错,都要从做开始进行排查,逐项排除错误,如果是第一项有问题,那么所有的报文项都要重写一遍。
另外,目前的报文测试方法也很原始,耗费开发人员的体力,浪费开发人员的时间。以下面的一个5项报文内容为例,付款金额123.56元,报文格式如下表1所示:
表1
报文数据项-参数 | 长度 | 报文数据项-含义 | 数据类型 | 备注 |
payerAcct | 9(17) | 付款账号 | 数字型 | |
payeeAcct | 9(17) | 收款账号 | 数字型 | |
currency | X(3) | 付款币种 | 字符型 | CNY |
tranAmount | 9(15) | 付款金额 | 金额型 | |
tranDate | X(10) | 付款日期 | 日期型 | yyyy-MM-dd |
发送报文内容如下:
0000010111234567800000101356789012CNY000000000123562016-03-21
如果第4项的付款金额报文有误,开发人员在排查时,要根据报文数据项的长度进行读位,逐个排查:
付款账号17位:00000101112345678
收款账号17位:00000101356789012
付款币种3位:CNY
付款金额15位:000000000123562
付款日期10位:016-03-21
经过读位操作,发现日期少了1位,金额的报文也不对,经过比对金额123.56元,发现付款金额少了一个0。
因此,如何快速定位报文出错的位置,并对报文进行快速、高效的测试,也是急需解决的一大问题。
发明内容
本发明提供一种报文配置及输出方法,以解决了现有的System.arraycopy方法带来的弊端。
为了解决上述问题,本发明实施例提供一种报文配置及输出方法,包括:
使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序;根据所述报文数据项的长度和先后顺序输出报文。
进一步地,在一实施例中,使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序,包括:使用XML文件分别定义报文头和报文体;使用不同关键字定义报文数据项的数据类型;根据定义后的所述报文头、报文体以及报文数据项的数据类型组成数据流。
进一步地,在一实施例中,使用XML文件分别定义报文头和报文体,包括:定义所述报文头,包括定义报文长度、交易码和产品信息;定义所述报文体,包括根据所述交易码定义报文数据项的长度和先后顺序。
进一步地,在一实施例中,使用不同关键字定义报文数据项的数据类型,包括:使用String关键字定义报文数据项的数据类型,则所述报文数据项就按照字符型组装报文;使用Number关键字定义报文数据项的数据类型,则所述报文数据项就按照数字型组装报文;使用Date关键字定义报文数据项的数据类型,则所述报文数据项就按照日期型组装报文,并且按照pattern定义的模式对日期数据项进行格式化;使用Amount关键字定义报文数据项的数据类型,则所述报文数据项就按照金额型组装报文,并且按照decimal定义的模式对金额数据项增加或减去小数点。
进一步地,在一实施例中,根据所述报文数据项的长度和先后顺序输出报文,包括:将报文格式定义工厂transformFactory的debug属性设置成true,则按照所述报文数据项的长度和先后顺序输出报文。
为了解决上述问题,本发明实施例还提供一种报文配置及输出装置,包括:报文配置模块,用于使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序;输出模块,用于根据所述报文数据项的长度和先后顺序输出报文。
进一步地,在一实施例中,所述报文配置模块用于使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序,其具体包括:报文格式定义单元,用于使用XML文件分别定义报文头和报文体;数据类型定义单元,用于使用不同关键字定义报文数据项的数据类型;数据流组成单元,用于根据定义后的所述报文头、报文体以及报文数据项的数据类型组成数据流。
进一步地,在一实施例中,所述报文格式定义单元用于使用XML文件分别定义报文头和报文体,其具体包括:报文头定义单元,用于定义所述报文头,包括定义报文长度、交易码和产品信息;报文体定义单元,用于定义所述报文体,包括根据所述交易码定义报文数据项的长度和先后顺序。
进一步地,在一实施例中,所述数据类型定义单元用于使用不同关键字定义报文数据项的数据类型,包括:使用String关键字定义报文数据项的数据类型,则所述报文数据项就按照字符型组装报文;使用Number关键字定义报文数据项的数据类型,则所述报文数据项就按照数字型组装报文;使用Date关键字定义报文数据项的数据类型,则所述报文数据项就按照日期型组装报文,并且按照pattern定义的模式对日期数据项进行格式化;使用Amount关键字定义报文数据项的数据类型,则所述报文数据项就按照金额型组装报文,并且按照decimal定义的模式对金额数据项增加或减去小数点。
进一步地,在一实施例中,所述输出模块用于根据所述报文数据项的长度和先后顺序输出报文,包括:将报文格式定义工厂transformFactory的debug属性设置成true,则按照所述报文数据项的长度和先后顺序输出报文。
本发明实施例的报文配置及输出方法及装置,摒弃了现有的System.arraycopy方式,减少了开发人员工作量,且支持多种报文,应用广泛,提高了开发效率;另外,本发明摒弃了读位的方法,使用顺序输出报文的方法,能够快速定位出错位置,减少错误查找时间,减少报文测试时间,提高报文测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的报文配置及输出方法的处理流程图;
图2为本发明实施例的报文配置及输出装置的结构示意图;
图3为图2所示实施例中的报文配置模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域技术技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
本发明提出的报文配置与输出方法的主要思想是:使用XML文件进行报文配置,在XML文件中定义每个报文数据项的长度和先后顺序,报文定义清晰、简单;对不同的数据类型,定义不同的关键字,支持字符型、数字型、日期型、金额型等数据项,使用include关键字,报文头和报文体可分别定义,报文配置方便,能大大减少开发人员的工作量,减少人工劳动;并且,本发明支持定长报文、变长报文、XML报文、8583报文、混合报文(定长+变长+XML)的配置和测试,涵盖范围广,能够帮助开发人员进行各种报文的配置和测试,提高开发效率。
另外,本发明提供的顺序打印报文配置项的技术,能够根据报文定义的先后顺序和长度打印报文,一目了然的让开发人员看到所有的报文项,能够快速的定位出错报文的位置,提高报文测试的效率。因此,如果两个***间对报文的正确性存在疑问,对于报文上送错误,本发明可以提供发送的报文,对于收到的报文异常,可以解析收到的报文,在技术方案阶段对接口定义进行技术验证。在无法获得debug等详细测试信息时,本发明可以测试、检验生产报文的异常(报文异常结束、报文超长的问题、报文错位、报文数据项非法)。
图1为本发明实施例的报文配置及输出方法的处理流程图。如图1所示,包括:
步骤S101,使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序;步骤S102,根据所述报文数据项的长度和先后顺序输出报文。
在本实施例中的步骤S101中,使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序,包括:步骤S1011,使用XML文件分别定义报文头和报文体;步骤S1012,使用不同关键字定义报文数据项的数据类型;步骤S1013,根据定义后的所述报文头、报文体以及报文数据项的数据类型组成数据流。
其中,步骤S1011和步骤S1012并没有先后顺序关系,两个步骤可以同时执行。
在本实施例中的步骤S1011中,使用XML文件分别定义报文头和报文体,包括:定义所述报文头,包括定义报文长度、交易码和产品信息;以及定义所述报文体,包括根据所述交易码定义报文数据项的长度和先后顺序。
一般***都会定义报文头与报文体,报文头一般包括报文长度、交易码、产品信息等公共信息,报文体包含具体某个交易的信息。
以下面的报文头定义文件DemoFormatPacket.xml为例,对于报文头定义,如表2所示,包括报文长度+交易码,而对于报文体定义,具体根据交易码不同:
表2
上面的报文配置中,DATA_LEN代表报文长度,程序会计算出交易码长度+报文体的长度放到DATA_LEN对应的数据域中,TRAN_CODE代表交易码,当交易码为D0002时,通过include关键字和前缀DemoFormat就会找到报文体定义文件DemoFormatD0002.xml,DemoFormatD0002.xml为报文体定义文件,对应了D0002交易:
在上面的XML报文配置文件中,对应下面的表3的“上送报文格式定义”,程序首先读取报文头DemoFormatPacket.xml配置文件,然后读取报文体DemoFormatD0002.xml报文配置文件,在两个配置文件中,定义了报文数据项的先后顺序和长度,程序根据报文数据项的先后顺序和长度组装报文,还是以下面的一个5项报文内容为例,付款金额123.56元。
表3
报文数据项-参数 | 长度 | 报文数据项-含义 | 数据类型 | 备注 |
payerAcct | 9(17) | 付款账号 | 数字型 | |
payeeAcct | 9(17) | 收款账号 | 数字型 | |
currency | X(3) | 付款币种 | 字符型 | CNY |
tranAmount | 9(15) | 付款金额 | 金额型 | |
tranDate | X(10) | 付款日期 | 日期型 | yyyy-MM-dd |
程序根据XML文件的定义,组装报文如下:
如果其中一项发生了变化,只要修改XML文件配置即可,简单易行,开发人员也易于理解,极大的提高了开发的效率。以金额变为16位为例:
在本实施例中的步骤S1012中,使用不同关键字定义报文数据项的数据类型,即:对不同的数据类型,定义不同的关键字,本发明中支持字符型、数字型、日期型、金额型等数据项。
1、字符型为String关键字,无论是变长还是定长定义,只要是包含String关键字,这个数据项就按照字符型组装报文;
2、数字型为Number关键字,无论是变长还是定长定义,只要是包含Number关键字,这个数据项就按照数字型组装报文,如果数据项内容为非数字型,程序就会报错提示开发人员;
3、日期型为Date关键字,无论是变长还是定长定义,只要是包含Date关键字,这个数据项就按照日期型组装报文,并且按照pattern定义的模式可以对日期数据项进行格式化;
4、金额型为Amount关键字,无论是变长还是定长定义,只要是包含Amount关键字,这个数据项就按照金额型组装报文,并且按照decimal定义的模式可以对金额数据项增加或减去小数点。
本实施例的步骤S1013中,在完成报文头、报文体以及数据项的配置后,则根据定义后的所述报文头、报文体以及报文数据项的数据类型组成数据流。
本发明支持定长报文、变长报文、XML报文、8583报文、混合报文(定长+变长+XML)。
1、定长报文处理
定长报文顾名思义就是报文的长度是固定的,不因为每次交易内容的变化报文长度而改变。例如接口定义如下表4所示,输入:
表4
则生成的报文如下:
0057D0001F1234567890 R1234567890 CNY000000000010000
账号和金额变化后,报文长度不变:
0057D0001F2345678901 R1234567890 CNY000000000020000
定长报文的优点是格式固定、长度可控,缺点是会产生空格等冗余,浪费通讯空间。
对于定长报文的设置,在XML文件中都是以fix开头的,例如,<fixStringname="payerAcct"length="17"/>代表17位固定长度的账号报文,程序读取XML文件的定义,如果遇到fixString就按照定长报文处理。
2、变长报文处理
变长报文就是每次交易内容的变化报文长度会改变。变长报文有两种形式,一种是每个数据项都定义长度和内容,另外一种是数据项之间用分隔符分隔。
第一种形式的报文如下:
0051005D0001010F1234567890010R1234567890003CNY005010000
第二种形式的报文如下:
0041$D0001$F1234567890$R1234567890$CNY$010000
变长报文的优点是格式灵活、节省数据空间,缺点是对报文的内容不可控。
对于变长报文的设置,在XML文件中都是以var开头的,例如,<varStringname="KEY"type="LL"></varString>代表用两个十位数表示的变长报文,【0512345】表示KEY为收到的报文,05代表报文的长度,12345表示KEY的值,程序读取XML文件的定义,如果遇到varString就按照变长报文处理。
3、XML报文处理
XML报文就是报文的内容为XML文档格式。
对于XML报文的设置,在XML文件中都是以xmlTag开头的,例如,<<xmlTagformat="true"><Number name="AC_CNT"length="4"option="false"></Number></xmlTag>代表这个报文数据项要按照XML报文标准进行组装,组装形式为数字型,xmlTag的名字为AC_CNT,组装后为<AC_CNT>0123456789</AC_CNT>;程序读取XML文件的定义,如果遇到xmlTag就按照XML报文处理。
<xmlTag format="true">
<Number name="AC_CNT"length="4"option="false"></Number>
</xmlTag><!--客户号-->
在上送数据时,会出现上送XML文件格式数据的情况,数据按XML标准格式定义,在报文的前后增加XML报文头和XML报文尾的定义,XML报文定义如下:
XML报文头定义+XML报文体定义+XML报文尾定义。
4、ISO8583报文处理
对于iso8583报文的设置,在XML文件中都是以iso8583Fields开头的,如下面的报文定义,bitMap定义了这段报文包含8583报文的哪几个域,在iso8583Fields定义的子集中就定义了每个8583报文域的具体格式。
<iso8583Fields bitMap="7,39,63,70"beginOffset="0">
上面的内容代表此类报文为ISO8583报文,包含的BITMAP为7,39,63,70等4项;
<!--7-Transmission Date&Time N10(MMDDhhmmss)交易时间-->
<fixBullBCD name="TIME"length="10"></fixBullBCD>
上面的内容代表此报文为ISO8583报文中的第7域,为10位的时间数据项;
</iso8583Fields>
5、混合报文处理
对于混合报文(定长+变长+XML)的处理设置,就是Baffle挡板***宝收到的数据分为报文头和报文体两部分,报文头和包问题的报文格式可以不同,他们的组合方式可以为:1)报文头(定长报文)+报文体(变长报文);2)报文头(定长报文)+报文体(XML报文);1)报文头(变长报文)+报文体(XML报文)。
在本实施例中的步骤S103中,根据所述报文数据项的长度和先后顺序输出报文,其方法为:将报文格式定义工厂transformFactory的debug属性设置成true,就可以支持顺序打印报文配置项和报文长度等内容:
<transformerFactory id="TransformerFactory">
<param name="debug">true</param>
</transformerFactory>
本发明提所供的顺序输出报文配置项的技术,能够根据报文定义的先后顺序和长度打印报文,一目了然的让开发人员看到所有的报文项,能够快速的定位出错报文的位置,提高报文测试的效率。
程序会读取debug标志位,如果为true,程序就会按照XML配置文件定义的先后顺序和长度在控制台上输出报文内容,如下:
在测试或生产环境,往往只输出报文内容,而不会输出每个报文配置项的内容。如果两个***间对报文的正确性存在疑问,对于报文上送错误,本发明可以提供发送的报文,对于收到的报文异常,可以解析收到的报文。在无法获得debug等详细测试信息时,只要提供报文内容,本发明就可以快速定位非法的数据项。
对于客户端发送了报文,服务器端也收到了报文,但是服务器端返回报文非法错误,客户端就要提供发送的报文给服务器端,快速定位非法的数据项。
例如,提供报文内容如下:
本发明根据报文的定义如下:
测试报文数据项如下:
这样两个***就可以根据测试的输出结果来进行排查,迅速找出出错的位置和报文数据项。
本发明还可以测试、检验生产报文的异常(例如报文异常结束、报文超长的问题)。
因为本发明会输出报文长度,只要把输出的报文长度与报文定义的长度进行对比,就可以发现报文异常结束、报文超长的问题。
例如报文定义如下,正常的长度应改为67,如下表5所示:
表5
输出报文如下:
sendDatas:0068D00020000010111234567800000101356789012CNY00000000000123562016-03-21;报文长度为0068,说明报文超长。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
在介绍了本发明示例性实施方式的方法之后,接下来,参考图2对本发明示例性实施方式的报文配置及输出装置进行介绍。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2为本发明实施例的报文配置及输出装置的结构示意图。如图2所示,包括:
报文配置模块101,用于使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序;输出模块102,用于根据所述报文数据项的长度和先后顺序输出报文。
进一步地,在本实施例中,如图3所示,所述报文配置模块101用于使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序,其具体包括:
报文格式定义单元1011,用于使用XML文件分别定义报文头和报文体;
数据类型定义单元1012,用于使用不同关键字定义报文数据项的数据类型;
数据流组成单元1013,用于根据定义后的所述报文头、报文体以及报文数据项的数据类型组成数据流。
进一步地,在本实施例中,所述报文格式定义单元1011用于使用XML文件分别定义报文头和报文体,其具体包括:报文头定义单元,用于定义所述报文头,包括定义报文长度、交易码和产品信息;以及报文体定义单元,用于定义所述报文体,包括根据所述交易码定义报文数据项的长度和先后顺序。
进一步地,在本实施例中,所述数据类型定义单元1012用于使用不同关键字定义报文数据项的数据类型,包括:使用String关键字定义报文数据项的数据类型,则所述报文数据项就按照字符型组装报文;使用Number关键字定义报文数据项的数据类型,则所述报文数据项就按照数字型组装报文;使用Date关键字定义报文数据项的数据类型,则所述报文数据项就按照日期型组装报文,并且按照pattern定义的模式对日期数据项进行格式化;使用Amount关键字定义报文数据项的数据类型,则所述报文数据项就按照金额型组装报文,并且按照decimal定义的模式对金额数据项增加或减去小数点。
进一步地,在本实施例中,所述输出模块103用于根据所述报文数据项的长度和先后顺序输出报文,包括:将报文格式定义工厂transformFactory的debug属性设置成true,则按照所述报文数据项的长度和先后顺序输出报文。
本发明实施例提出的报文配置与输出方法,使用XML文件进行报文配置,在XML文件中定义每个报文数据项的长度和先后顺序,报文定义清晰、简单;对不同的数据类型,定义不同的关键字,支持字符型、数字型、日期型、金额型等数据项,使用include关键字,报文头和报文体可分别定义,报文配置方便,能大大减少开发人员的工作量,减少人工劳动;并且,本发明支持定长报文、变长报文、XML报文、8583报文、混合报文(定长+变长+XML)的配置和测试,涵盖范围广,能够帮助开发人员进行各种报文的配置和测试,提高开发效率。另外,本发明提供的顺序打印报文配置项的方法,能够根据报文定义的先后顺序和长度打印报文,一目了然的让开发人员看到所有的报文项,能够快速的定位出错报文的位置,提高报文测试的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种报文配置及输出方法,其特征在于,包括:
使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序;
根据所述报文数据项的长度和先后顺序输出报文;
其中,使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序,包括:
使用XML文件分别定义报文头和报文体,其中,定义所述报文头,包括定义报文长度、交易码和产品信息,定义所述报文体,包括根据所述交易码定义报文数据项的长度和先后顺序;
使用不同关键字定义报文数据项的数据类型;
根据定义后的所述报文头、报文体以及报文数据项的数据类型组成数据流;
所述根据所述交易码定义报文数据项的长度和先后顺序,包括:
根据所述交易码确定报文体定义文件。
2.根据权利要求1所述的报文配置及输出方法,其特征在于,使用不同关键字定义报文数据项的数据类型,包括:
使用String关键字定义报文数据项的数据类型,则所述报文数据项就按照字符型组装报文;
使用Number关键字定义报文数据项的数据类型,则所述报文数据项就按照数字型组装报文;
使用Date关键字定义报文数据项的数据类型,则所述报文数据项就按照日期型组装报文,并且按照pattern定义的模式对日期数据项进行格式化;
使用Amount关键字定义报文数据项的数据类型,则所述报文数据项就按照金额型组装报文,并且按照decimal定义的模式对金额数据项增加或减去小数点。
3.根据权利要求1所述的报文配置及输出方法,其特征在于,根据所述报文数据项的长度和先后顺序输出报文,包括:
将报文格式定义工厂transformFactory的debug属性设置成true,则按照所述报文数据项的长度和先后顺序输出报文。
4.一种报文配置及输出装置,其特征在于,包括:
报文配置模块,用于使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序;
输出模块,用于根据所述报文数据项的长度和先后顺序输出报文;
所述报文配置模块用于使用XML文件进行报文配置,定义每个报文数据项的长度和先后顺序,其具体包括:
报文格式定义单元,用于使用XML文件分别定义报文头和报文体;
数据类型定义单元,用于使用不同关键字定义报文数据项的数据类型;
数据流组成单元,用于根据定义后的所述报文头、报文体以及报文数据项的数据类型组成数据流;
所述报文格式定义单元用于使用XML文件分别定义报文头和报文体,其具体包括:
报文头定义单元,用于定义所述报文头,包括定义报文长度、交易码和产品信息;
报文体定义单元,用于定义所述报文体,包括根据所述交易码定义报文数据项的长度和先后顺序;所述根据所述交易码定义报文数据项的长度和先后顺序,包括:根据所述交易码确定报文体定义文件。
5.根据权利要求4所述的报文配置及输出装置,其特征在于,所述数据类型定义单元用于使用不同关键字定义报文数据项的数据类型,包括:
使用String关键字定义报文数据项的数据类型,则所述报文数据项就按照字符型组装报文;
使用Number关键字定义报文数据项的数据类型,则所述报文数据项就按照数字型组装报文;
使用Date关键字定义报文数据项的数据类型,则所述报文数据项就按照日期型组装报文,并且按照pattern定义的模式对日期数据项进行格式化;
使用Amount关键字定义报文数据项的数据类型,则所述报文数据项就按照金额型组装报文,并且按照decimal定义的模式对金额数据项增加或减去小数点。
6.根据权利要求4所述的报文配置及输出装置,其特征在于,所述输出模块用于根据所述报文数据项的长度和先后顺序输出报文,包括:
将报文格式定义工厂transformFactory的debug属性设置成true,则按照所述报文数据项的长度和先后顺序输出报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611027224.7A CN106528823B (zh) | 2016-11-18 | 2016-11-18 | 一种报文配置及输出方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611027224.7A CN106528823B (zh) | 2016-11-18 | 2016-11-18 | 一种报文配置及输出方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106528823A CN106528823A (zh) | 2017-03-22 |
CN106528823B true CN106528823B (zh) | 2019-08-30 |
Family
ID=58352777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611027224.7A Active CN106528823B (zh) | 2016-11-18 | 2016-11-18 | 一种报文配置及输出方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528823B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633214B (zh) * | 2019-09-19 | 2023-12-08 | 中国银行股份有限公司 | 一种内部测试报文的配置方法及装置 |
CN111049813B (zh) * | 2019-12-04 | 2022-07-12 | 中国银行股份有限公司 | 报文组装方法、解析方法、装置及存储介质 |
CN112000332B (zh) * | 2020-07-09 | 2024-05-31 | 惠州市德赛西威汽车电子股份有限公司 | 一种总线面板的自动生成方法及*** |
CN112187761B (zh) * | 2020-09-22 | 2022-12-13 | 中国建设银行股份有限公司 | 一种报文解析、构造方法、装置、计算机设备和存储介质 |
CN115190055A (zh) * | 2022-07-08 | 2022-10-14 | 武汉众邦银行股份有限公司 | 一种tcp报文定制化转换方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697546A (zh) * | 2009-10-30 | 2010-04-21 | 南京中兴软创科技股份有限公司 | 用于网络字节打包和解包的协议数据单元pdu实现方法 |
US8392561B1 (en) * | 2008-06-20 | 2013-03-05 | Arrayent, Inc. | Wireless internet product system |
CN104572122A (zh) * | 2015-01-28 | 2015-04-29 | 中国工商银行股份有限公司 | 一种软件应用数据的生成装置及方法 |
CN106027330A (zh) * | 2016-05-23 | 2016-10-12 | 中国银行股份有限公司 | 一种前端***报文测试方法及模拟挡板*** |
-
2016
- 2016-11-18 CN CN201611027224.7A patent/CN106528823B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392561B1 (en) * | 2008-06-20 | 2013-03-05 | Arrayent, Inc. | Wireless internet product system |
CN101697546A (zh) * | 2009-10-30 | 2010-04-21 | 南京中兴软创科技股份有限公司 | 用于网络字节打包和解包的协议数据单元pdu实现方法 |
CN104572122A (zh) * | 2015-01-28 | 2015-04-29 | 中国工商银行股份有限公司 | 一种软件应用数据的生成装置及方法 |
CN106027330A (zh) * | 2016-05-23 | 2016-10-12 | 中国银行股份有限公司 | 一种前端***报文测试方法及模拟挡板*** |
Also Published As
Publication number | Publication date |
---|---|
CN106528823A (zh) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528823B (zh) | 一种报文配置及输出方法及装置 | |
CN105808437B (zh) | 基于测试用例数据表的自动化测试方法及*** | |
CN110032575A (zh) | 数据查询方法、装置、设备和存储介质 | |
CN109889375A (zh) | 业务报文校验方法、装置及计算机存储介质 | |
CN104035859B (zh) | 一种可视化自动测试方法及其*** | |
CN106503268B (zh) | 数据对比方法、装置和*** | |
CN111950239B (zh) | Schema文档生成方法、装置、计算机设备和介质 | |
CN107015948B (zh) | 一种日志信息格式化方法及*** | |
CN103631783B (zh) | 一种前端页面的生成方法及*** | |
CN109408247A (zh) | 交互数据处理方法及装置 | |
CN109799985A (zh) | 前端代码生成方法及装置、存储介质及电子设备 | |
CN108958959A (zh) | 检测hive数据表的方法和装置 | |
CN110489087A (zh) | 一种生成分形结构的方法、装置、介质和电子设备 | |
JP2012113706A (ja) | データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム | |
US20080313291A1 (en) | Method and apparatus for encoding data | |
CN107391528B (zh) | 前端组件依赖信息搜索方法及设备 | |
CN105824647A (zh) | 一种表单页面生成方法和装置 | |
CN111078276A (zh) | 应用程序的冗余资源处理方法、装置、设备及存储介质 | |
US8904354B2 (en) | Rule based syntax software test case generator | |
CN108694194A (zh) | 一种构造数据对象的方法和装置 | |
CN109828759A (zh) | 代码编译方法、装置、计算机装置及存储介质 | |
CN111143228B (zh) | 基于决策表法的测试代码生成方法及装置 | |
CN104572055B (zh) | 拼版脚本生成装置和拼版脚本生成方法 | |
EP2535813B1 (en) | Method and device for generating an alert during an analysis of performance of a computer application | |
CN108875374A (zh) | 基于文档节点类型的恶意pdf检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |