zoukankan      html  css  js  c++  java
  • Velocity组装Xml报文

     组装报文代码

    /**
         * 请求XML组装
         * @param bizNo
         * @return
         */
        public String createRequestXml(PolicyApplication app,String xmlPath,String resType) throws Exception {
            String rspXml = "";
            try {
                String userInfo = DeploymentConfig.getProperty("GD_PLAT_USER");//获取平台用户密码
                Properties p = new Properties();
                p.put("input.encoding", "UTF-8");
                p.put("output.encoding", "UTF-8");
                p.put("resource.loader", "srl");
                p.put("srl.resource.loader.class",FlatXMLTemplateLoader.class.getName());
                VelocityEngine veloEngine = new VelocityEngine();
                veloEngine.init(p);
                Template template = veloEngine.getTemplate(xmlPath);
                VelocityContext velocityContext = new VelocityContext();
                velocityContext.put("SEARCH",xmlPath);// 模板路径
                BaseDTO baseDto = new BaseDTO(app);
                velocityContext.put("resType",resType);
                velocityContext.put("userName",userInfo.split("-")[0]);
                velocityContext.put("userPass",userInfo.split("-")[1]);
                velocityContext.put("app",baseDto);
                StringWriter sw = new StringWriter();
                template.merge(velocityContext,sw);
                sw.close();
                rspXml = sw.toString();
            } catch (Exception e) {
                logger.info(e.getMessage());
                e.printStackTrace();
            }
            return rspXml;
        }

     报文模版

    <?xml version="1.0" encoding="UTF-8"?>
    <PACKET type="RESPONSE" version="1.0">
        <HEAD>
            <REQUEST_TYPE>$!resType</REQUEST_TYPE>
            <USER>$!userName</USER>
            <PASSWORD>$!userPass</PASSWORD>
        </HEAD>
        #set($base = $app.getBase())
        #set($insured = $app.getInsured())
        <BASE_PART>
            <QUOTE_NO>$!base.CQteNo</QUOTE_NO>
            <POLICY_CODE>$!insured.CCertfCde</POLICY_CODE>
            <POLICY_NAME>$!insured.CInsuredNme</POLICY_NAME>
            <PRODUCT_NO>001</PRODUCT_NO>
            <PREMIUM_RATE>$!app.getFormatRate($!base.CProdNo,$!base.CTrdCde)</PREMIUM_RATE>
            <TRANS_DATE>$!app.date2Str(null)</TRANS_DATE>
            <PRODUCT_LIST>
                #foreach ($cvrg in $!app.getCoverages())
                    #if((("010002"==$!cvrg.CCvrgNo) || ("010003"==$!cvrg.CCvrgNo) ||  ("010004"==$!cvrg.CCvrgNo)) && $!app.isShenzhen($!cvrg.CResvTxt18))
                    <PRODUCT_COMP>
                        <INDUSTRY_TYPE>$!base.CTrdCde</INDUSTRY_TYPE>
                        <INSURE_CDE>$!app.getAttrNmeBySQL("CCvrgNo",$!cvrg.CCvrgNo)</INSURE_CDE>
                        <LOSS_FREE_RATE>$!app.getFormatDuctRate($!base.NDductRate)</LOSS_FREE_RATE>
                        <LOSS_FREE_AMT>$!base.NDductAmt</LOSS_FREE_AMT>
                        <PREMIUM_RATE>$!app.getFormatRate($!base.CProdNo,$!cvrg.NRate,$!base.CTrdCde)</PREMIUM_RATE>
                    </PRODUCT_COMP>
                    #end
                #end
            </PRODUCT_LIST>
        </BASE_PART>
    </PACKET>
  • 相关阅读:
    windows自带摘要工具
    黑客帝国中的黑猫是什么?
    安装EdXposed提示请先从magisk manager中安装riru
    magisk和xposed和frida的区别
    awvs激活成功但是扫描失败 License problem 40
    KALI LINUX 工具大全之信息收集数字取证 Xplico (解释)
    小米机型代号
    黑客帝国高告诉我们的世界观认清自己
    web漏洞扫描器
    burpsuite中注入器的必知攻击方式
  • 原文地址:https://www.cnblogs.com/ycyang/p/6880859.html
Copyright © 2011-2022 走看看