报文处理设计_第1页
报文处理设计_第2页
报文处理设计_第3页
报文处理设计_第4页
报文处理设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

报文处理设计接口调用流程命名规那么模板文件的命名:系统名称-交易名称-template.ftl;解析配置文件的命名:系统名称-交易名称-smooks-config.xml主配置文件名称:msg-config.xml文件的结构图如下所示:

msg-config.xml文件:<?xmlversion="1.0"?><msg-config> <!--trade表示不同交易--> <trade-items> <!--code是用来区别不同交易--> <tradecode="交易码1"> <!--报文种类xml,fixedlength,listseparator三种--> <msg-type>XML</msg-type> <!--请求报文--> <request> <!--此处是相对路径/root/system-A/xml/*-template.ftl--> <cfg-url>*-template.ftl</cfg-url> </request> <!--响应报文--> <response> <!--此处是相对路径/root/system-A/xml/*-smooks-config.xm--> <cfg-url>*-smooks-config.xml</cfg-url> </response> </trade> <tradecode="交易码2"> <msg-type>FIXEDLENGTH</msg-type> <request> <cfg-url>*-template.ftl</cfg-url> </request> <response> <cfg-url>*-smooks-config.xml</cfg-url> </response> </trade> </trade-items></msg-config>

XML组装流程图

对象模型创立对象模型,首先创立报文的基类MsgBase,然后再创立XML报文的对象类MsgXMLObj使其继承基类MsgBase。再创立各个系统的模型类,使其继承与MsgXMLObj。处理逻辑加载配置文件msg-config.xml,将配置信息存放到内存中。接口调用时,根据调用的交易码,在内存中取出该交易码所对应交易中request中的XML模板文件名。此处使用缓存机制,用来存放已使用过的交易模板文件名和交易配置信息。如果下次再出现同样的交易时候,可以从缓存中直接读取,不需要在读取配置文件。根据msg-config.xml中配置的msg-type属性,确定调用XML类型报文的处理方法对报文进行格式化、数值精度、数据类型处理根据该交易的XML模板文件,用Freemarker生成相应的报文此方式同时支持单比,多笔,混合报文的组装。配置文件

模板文件:Template.ftl<msg> <header> <tradeCode>001</tradeCode><tradeName>query</tradeName><tradeDate>2011-08-02</tradeDate></header><items><#listtrade.itemsasitem><item><accountNo>${item.accountNo}</accountNo><address>${item.address}</address><createDate>${item.createDate?String("yyyy-MM-dd")}</createDate> <money>${item.Money?Number(‘999,999,999,999.90’)}</money></item></#list></items></msg>解包流程图对象模型同XML组装中的对象模型。处理逻辑根据交易码,从内存中取出对应交易中response的配置信息。由response中描述的smooks-config.xml配置文件的配置信息,对返回报文进行解析。此处可使用缓存机制,用来存放已使用过的交易配置信息。如果下次再出现同样的交易时候,可以从缓存中直接读取,不需要在读取配置文件。根据msg-config.xml中配置的msg-type属性,确定调用XML类型报文的处理方法对报文进行格式化、数值精度、数据类型处理通过smooks解析报文,将解析结果组装成对象此方式同时支持单笔,多笔,混合3种报文解析。配置文件Smook-config.xml<?xmlversion="1.0"?><smooks-resource-listxmlns=":///xsd/smooks-1.1.xsd" xmlns:jb=":///xsd/smooks/javabean-1.2.xsd"> <jb:beanbeanId="msg"class="com.tansun.scf.message.model.MsgBase" createOnElement="msg"> <jb:wiringproperty="header"beanIdRef="header"/> <jb:wiringproperty="items"beanIdRef="items"/> </jb:bean> <jb:beanbeanId="items"class="java.util.ArrayList" createOnElement="msg"> <jb:wiringbeanIdRef="item"/> </jb:bean> <jb:beanbeanId="header"class="com.tansun.scf.message.model.Header" createOnElement="header"> <jb:valueproperty="tradeCode"data="header/tradeCode"/> <jb:valueproperty="tradeName"data="header/tradeName"/> <jb:valueproperty="date"decoder="Date" data="header/tradeDate"> <jb:decodeParamname="format">yyyy-MM-dd</jb:decodeParam> </jb:value> </jb:bean> <jb:beanbeanId="item"class="com.tansun.scf.message.model.Item" createOnElement="item"> <jb:valueproperty="accountNo"data="item/accountNo"/> <jb:valueproperty="address"data="item/address"/> <jb:valueproperty="createDate"decoder="Date"data="item/createDate"/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论