




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
报文处理设计接口调用流程命名规那么模板文件的命名:系统名称-交易名称-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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生院信息化人才培训计划
- 幼儿园中班上学期健康教育计划
- 九年级英语在线学习计划
- 环保材料使用计划及其实施措施
- 餐饮业2025年度综合管理工作回顾与计划
- 书法体验课程推广计划
- 小学三年级上册班主任班级文化建设计划
- 教研活动评估与改进计划
- 流动人口疫苗接种服务计划
- 科学二年级上册课堂互动计划
- 2025年时政题库及答案(100题)
- 2025年湖北科技职业学院单招职业技能测试题库参考答案
- DZ/T 0430-2023 固体矿产资源储量核实报告编写规范(正式版)
- 《运筹学》线性规划课件
- 第一章植物的生物大分子
- 新编日语_修订版_前文原文+翻译
- 腰椎椎弓根钉技术应用(赵兵德20160418)
- 小学五年级甲骨文的演变(课堂PPT)
- 压力钢管镇墩抗滑稳定及地基应力计算
- 全文图解《医疗机构工作人员廉洁从业九项准则》PPT
- 人教B版高中数学必修一第二章213 函数的单调性(共23张PPT)
评论
0/150
提交评论