From ac2382952e400951ca16b1b688234bc9234bc4d1 Mon Sep 17 00:00:00 2001
From: wanghc <2466022993@qq.com>
Date: Tue, 07 Mar 2023 08:51:53 +0800
Subject: [PATCH] 浦发分行小系统

---
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ObjectFactory.java          |   48 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/RspHeaderType.java          |  258 +
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspPymtTrnRsltQryType.java   |  155 
 cmci-pfcs-gateway/pom.xml                                                            |   29 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/XmlUtils.java                   |   83 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspWHPymtTrnRsltQryType.java |  155 
 cmci-pfcs-gateway/src/main/resources/wsdl/DU93.xsd                                   |  409 ++
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqEPCSnglTranType.java       | 1576 +++++++++
 cmci-pfcs-gateway/src/main/resources/wsdl/SoapHeader.xsd                             |   28 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ReqHeaderType.java          |  286 +
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/ESBServerPortType.java |   62 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqSvcHeaderType.java         |  790 ++++
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/SubSvcRetInfoType.java       |  174 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqPymtTrnRsltQryType.java    |  213 +
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/DateUtil.java                     |    2 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/S080030795.java        |   87 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqWHPymtTrnRsltQryType.java  |  213 +
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspEPCSnglTranType.java      |  619 +++
 cmci-pfcs-gateway/src/main/resources/wsdl/DU90.wsdl                                  |  134 
 cmci-pfcs-gateway/src/main/resources/wsdl/DU90.xsd                                   |  409 ++
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqTranQryType.java           |  416 ++
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspSvcHeaderType.java        |  545 +++
 cmci-pfcs-gateway/src/main/resources/wsdl/DU93.wsdl                                  |  134 
 cmci-pfcs-gateway/src/main/resources/logback.xml                                     |    4 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/Application.java                     |    2 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/package-info.java           |    2 
 /dev/null                                                                            |  125 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspTranQryType.java          | 1547 ++++++++
 cmci-pfcs-gateway/src/test/java/com/jttech/pfcs/services/WsdlTest.java               |   84 
 cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/ObjectFactory.java              | 1886 ++++++++++
 30 files changed, 10,343 insertions(+), 132 deletions(-)

diff --git a/cmci-pfcs-gateway/pom.xml b/cmci-pfcs-gateway/pom.xml
index bceeca7..b4766e0 100644
--- a/cmci-pfcs-gateway/pom.xml
+++ b/cmci-pfcs-gateway/pom.xml
@@ -2,11 +2,11 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
-    <groupId>com.jttech.zxmx.plat</groupId>
-    <artifactId>zxmx-plat-gateway</artifactId>
+    <groupId>com.jttech.pfcs</groupId>
+    <artifactId>cmci-pfcs-gateway</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <name>cmci-pfcs-gateway</name>
-    <description>Jwssw Simple Service</description>
+    <description>cmci pufa Simple Service</description>
 
     <parent>
         <groupId>org.springframework.boot</groupId>
@@ -69,6 +69,29 @@
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
+            <!-- wsdl生成插件 生成了就不用了 这里注释掉 -->
+<!--            <plugin>-->
+<!--                <groupId>org.apache.cxf</groupId>-->
+<!--                <artifactId>cxf-codegen-plugin</artifactId>-->
+<!--                <version>3.5.1</version>-->
+<!--                <executions>-->
+<!--                    <execution>-->
+<!--                        <id>generate-sources</id>-->
+<!--                        <phase>generate-sources</phase>-->
+<!--                        <configuration>-->
+<!--                            &lt;!&ndash; xml文件 &ndash;&gt;-->
+<!--                            <sourceRoot>src/main/java</sourceRoot>-->
+<!--                            <wsdlRoot>${basedir}/src/main/resources/wsdl</wsdlRoot>-->
+<!--                            <includes>-->
+<!--                                <include>*.wsdl</include>-->
+<!--                            </includes>-->
+<!--                        </configuration>-->
+<!--                        <goals>-->
+<!--                            <goal>wsdl2java</goal>-->
+<!--                        </goals>-->
+<!--                    </execution>-->
+<!--                </executions>-->
+<!--            </plugin>-->
         </plugins>
         <resources>
             <resource>
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/content/ZxmxContent.java b/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/content/ZxmxContent.java
deleted file mode 100644
index ee00568..0000000
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/content/ZxmxContent.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.jttech.cmci.pfcs.content;
-
-/**
- * @Description:常量
- * @Author:carsonwang
- * @Date:Created in 2022-04-06 16:16
- * @Version: 1.0
- */
-public class ZxmxContent {
-    /**
-     * ""
-     */
-    public static final String EMPTY_STR               = "";
-    /**
-     * 逗号
-     */
-    public final static String SIGN_COMMA              = ",";
-    /**
-     * 竖线
-     */
-    public final static String VERTICAL_LINE           = "\\|";
-    public final static String reportMessage           = "ReportMessage";
-    public final static String QueryInfo               = "QueryInfo";
-    public final static String QueryDate               = "QueryDate";
-    public final static String creditTranDetailsInfo   = "CreditTranDetailsInfo";
-    public final static String beRecoveryDetailsInfo   = "BeRecoveryDetailsInfo";
-    public final static String baseInfo                = "BaseInfo";
-    public final static String money                   = "Money";
-    public final static String nonrevolvingLoanDetInfo = "NonrevolvingLoanDetInfo";
-    public final static String latestMonPerfmInfo      = "LatestMonPerfmInfo";
-    public final static String currentOverdueTotal     = "CurrentOverdueTotal";
-    public final static String avgUsedOfSixMonth       = "AvgUsedOfSixMonth";
-    public final static String LoopQuotaSubAct         = "LoopQuotaSubAct";
-    public final static String RevolvinLoanAct         = "RevolvinLoanAct";
-    public final static String CreditCardAct           = "CreditCardAct";
-    public final static String SemiCreditCardAct       = "SemiCreditCardAct";
-    public final static String Lines                   = "Lines";
-    public final static String Last5YearsHisPerFmInfo  = "Last5YearsHisPerFmInfo";
-    public final static String Content                 = "Content";
-    public final static String ReportHead              = "ReportHead";
-    public final static String ThisQueryReqInfo        = "ThisQueryReqInfo";
-    public final static String QueryName               = "QueryName";
-    public final static String QueryCredNum            = "QueryCredNum";
-
-}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/controller/ZxmxManagerController.java b/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/controller/ZxmxManagerController.java
deleted file mode 100644
index 2eb51b3..0000000
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/controller/ZxmxManagerController.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.jttech.cmci.pfcs.controller;
-
-import com.jttech.cmci.pfcs.service.ZxmxManagerService;
-import com.jttech.cmci.pfcs.vo.req.ZxmxGetScoreReqVo;
-import com.jttech.cmci.pfcs.vo.resp.ZxmxGetScoreRespVo;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * 征信模型
- *
- * @author carsonwang
- * @version 1.0
- * @date 2022/4/6 18:00
- * @since JDK 1.8
- */
-@RestController
-@RequestMapping("/zxmx")
-public class ZxmxManagerController {
-    private Logger             mLogger = LoggerFactory.getLogger(getClass());
-    @Autowired
-    private ZxmxManagerService mZxmxManagerService;
-
-
-
-    /**
-     * 获取分数
-     *
-     * @return 当前环境
-     */
-    @PostMapping("/getScore")
-    public @ResponseBody
-    ZxmxGetScoreRespVo getScore(@RequestBody ZxmxGetScoreReqVo creditInfo) {
-        mLogger.info("请求参数:{}", creditInfo);
-        return mZxmxManagerService.getScore(creditInfo);
-    }
-}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/service/ZxmxManagerService.java b/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/service/ZxmxManagerService.java
deleted file mode 100644
index 0e990ca..0000000
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/service/ZxmxManagerService.java
+++ /dev/null
@@ -1,700 +0,0 @@
-package com.jttech.cmci.pfcs.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.jttech.cmci.pfcs.util.DateUtil;
-import com.jttech.cmci.pfcs.vo.UserInfoVo;
-import com.jttech.cmci.pfcs.vo.req.ZxmxGetScoreReqVo;
-import com.jttech.cmci.pfcs.vo.resp.ZxmxGetScoreRespVo;
-import com.jttech.cmci.pfcs.content.ZxmxContent;
-import com.jttech.cmci.pfcs.util.XmlUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @Description:征信模型加工
- * @Author:carsonwang
- * @Date:Created in 2022-04-06 14:39
- * @Version: 1.0
- */
-@Service
-public class ZxmxManagerService {
-    private Logger mLogger = LoggerFactory.getLogger(getClass());
-
-
-
-    public ZxmxGetScoreRespVo getScore(ZxmxGetScoreReqVo pReqVo) {
-        mLogger.info("请求报文:{}", pReqVo);
-        JSONObject creditInfo = XmlUtils.xml2Json(pReqVo.getZxData());
-        creditInfo = creditInfo.getJSONObject(ZxmxContent.reportMessage);
-        // 获取用户信息
-        UserInfoVo userInfo = getUserInfo(creditInfo);
-        mLogger.info("=================征信模型加工开始,当前用户为:{}=================", userInfo);
-        // 获取逾期总金额(被追偿信息债权金额+非循环贷账户当前逾期总额+循环额度下分账户当前逾期总额+循环贷账户当前逾期总额+贷记卡账户当前逾期总额)
-        Integer overdueTotal = getOverdueTotal(userInfo, creditInfo);
-        // 获取贷记卡授信总额度(所有贷记卡授信金额求和)
-        Integer creditLines = getCreditLines(userInfo, creditInfo);
-        // 获取近六个月平均应还款额
-        Integer avgUsedOfSixMonth = getAvgUsedOfSixMonth(userInfo, creditInfo);
-        // 获取近一年逾期次数
-        Integer overdueNumOfYear = getOverdueNumOfYear(userInfo, creditInfo);
-        // 获取近一年查征次数
-        Integer queryNumOfYear = getQueryNumOfYear(userInfo, creditInfo);
-        ZxmxGetScoreRespVo respVo = new ZxmxGetScoreRespVo(overdueTotal, creditLines, avgUsedOfSixMonth,
-                overdueNumOfYear, queryNumOfYear);
-        mLogger.info("=================征信模型加工结束,当前用户为:{},加工结果为:{}=================", userInfo, respVo);
-        return respVo;
-    }
-
-
-
-    /**
-     * 获取用户信息
-     * 
-     * @param pCreditInfo
-     * @return
-     */
-    private UserInfoVo getUserInfo(JSONObject pCreditInfo) {
-        JSONObject reportHead = getJsonObject(pCreditInfo, ZxmxContent.ReportHead);
-        JSONObject thisQueryReqInfo = getJsonObject(reportHead, ZxmxContent.ThisQueryReqInfo);
-        String username = thisQueryReqInfo.getString(ZxmxContent.QueryName);
-        String idNo = thisQueryReqInfo.getString(ZxmxContent.QueryCredNum);
-        UserInfoVo userInfo = new UserInfoVo(username, idNo);
-        return userInfo;
-    }
-
-
-
-    /**
-     * 近一年查征次数(根据查征记录中近一年查询次数计算)
-     * 
-     * @param pCreditInfo
-     * @return
-     */
-    private Integer getQueryNumOfYear(UserInfoVo userInfo, JSONObject pCreditInfo) {
-        Integer totalQueryNumOfYear = 0;
-        JSONArray queryInfos = pCreditInfo.getJSONArray(ZxmxContent.QueryInfo);
-        if (!CollectionUtils.isEmpty(queryInfos)) {
-            Date currTime = DateUtil.getDayEndTime(new Date());
-            Date yearTime = DateUtil.addYear(currTime, -1);
-            for (Object obj : queryInfos) {
-                if (obj != null) {
-                    JSONObject queryInfo = (JSONObject) obj;
-                    String queryDateStr = queryInfo.getString(ZxmxContent.QueryDate);
-                    if (!StringUtils.isEmpty(queryDateStr)) {
-                        Date queryDate = DateUtil.parseDate(DateUtil.pattern[2], queryDateStr);
-                        if (queryDate.after(yearTime) && queryDate.before(currTime)) {
-                            totalQueryNumOfYear++;
-                        }
-                    }
-                }
-            }
-        }
-        // 获取近一年查征次数
-        Integer queryNumOfYear = getQueryNumOfYear(totalQueryNumOfYear);
-        mLogger.info("==========================用户:{},近一年查询征信总数为:{},评级为:{}=======================", userInfo,
-                totalQueryNumOfYear, queryNumOfYear);
-        return queryNumOfYear;
-    }
-
-
-
-    /**
-     * 获取近一年查征次数 评级 0 0 1 (0,5] 2 (5,10] 3 (10,15] 4 (15,20] 5 (20,25] 6 (25,30]
-     * 7 (30,35] 8 (35,40] 9 >40
-     * 
-     * @param pTotalQueryNumOfYear
-     * @return
-     */
-    private Integer getQueryNumOfYear(Integer pTotalQueryNumOfYear) {
-        Integer queryNumOfYear = 0;
-        if (pTotalQueryNumOfYear == 0) {
-            queryNumOfYear = 0;
-        } else if (pTotalQueryNumOfYear > 0 && pTotalQueryNumOfYear <= 5) {
-            queryNumOfYear = 1;
-        } else if (pTotalQueryNumOfYear > 5 && pTotalQueryNumOfYear <= 10) {
-            queryNumOfYear = 2;
-        } else if (pTotalQueryNumOfYear > 10 && pTotalQueryNumOfYear <= 15) {
-            queryNumOfYear = 3;
-        } else if (pTotalQueryNumOfYear > 15 && pTotalQueryNumOfYear <= 20) {
-            queryNumOfYear = 4;
-        } else if (pTotalQueryNumOfYear > 20 && pTotalQueryNumOfYear <= 25) {
-            queryNumOfYear = 5;
-        } else if (pTotalQueryNumOfYear > 25 && pTotalQueryNumOfYear <= 30) {
-            queryNumOfYear = 6;
-        } else if (pTotalQueryNumOfYear > 30 && pTotalQueryNumOfYear <= 35) {
-            queryNumOfYear = 7;
-        } else if (pTotalQueryNumOfYear > 35 && pTotalQueryNumOfYear <= 40) {
-            queryNumOfYear = 8;
-        } else if (pTotalQueryNumOfYear > 40) {
-            queryNumOfYear = 9;
-        }
-        return queryNumOfYear;
-    }
-
-
-
-    /**
-     * 近一年逾期次数("非循环贷账户/循环额度下分账户/循环贷账户/贷记卡账户/准贷记卡账户 账户中近一年还款月中为逾期的总次数")
-     * 
-     * @param pCreditInfo
-     * @return
-     */
-    private Integer getOverdueNumOfYear(UserInfoVo userInfo, JSONObject pCreditInfo) {
-        JSONObject creditTranDetailsInfo = getJsonObject(pCreditInfo, ZxmxContent.creditTranDetailsInfo);
-        if (creditTranDetailsInfo == null) {
-            return -1;
-        }
-        // 6.4.2 非循环贷账户 D1【NonrevolvingLoanDetInfo】
-        JSONArray nonrevolvingLoanDetInfos = creditTranDetailsInfo.getJSONArray(ZxmxContent.nonrevolvingLoanDetInfo);
-        // 6.4.2.4 最近五年内历史表现信息【Last5YearsHisPerFmInfo】 content
-        Integer nonrevolvingOverdueNum = 0;
-        if (!CollectionUtils.isEmpty(nonrevolvingLoanDetInfos)) {
-            for (Object obj : nonrevolvingLoanDetInfos) {
-                if (obj != null) {
-                    JSONObject nonrevolvingLoanDetInfo = (JSONObject) obj;
-                    JSONObject last5YearsHisPerFmInfo = getJsonObject(nonrevolvingLoanDetInfo,
-                            ZxmxContent.Last5YearsHisPerFmInfo);
-                    if (last5YearsHisPerFmInfo != null) {
-                        nonrevolvingOverdueNum = nonrevolvingOverdueNum + getOverdueNum(last5YearsHisPerFmInfo);
-                    }
-                }
-            }
-        }
-        mLogger.info("非循环贷账户,最近五年内历史表现信息,逾期次数:{}", nonrevolvingOverdueNum);
-        // 6.4.3 循环额度下分账户 R4【LoopQuotaSubAct】
-        JSONArray loopQuotaSubActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.LoopQuotaSubAct);
-        // 6.4.3.4最近五年内历史表现信息【Last5YearsHisPerfmInfo】 content
-        Integer loopOverdueNum = 0;
-        if (!CollectionUtils.isEmpty(loopQuotaSubActs)) {
-            for (Object obj : loopQuotaSubActs) {
-                if (obj != null) {
-                    JSONObject loopQuotaSubAct = (JSONObject) obj;
-                    JSONObject last5YearsHisPerFmInfo = getJsonObject(loopQuotaSubAct,
-                            ZxmxContent.Last5YearsHisPerFmInfo);
-                    if (last5YearsHisPerFmInfo != null) {
-                        loopOverdueNum = loopOverdueNum + getOverdueNum(last5YearsHisPerFmInfo);
-                    }
-                }
-            }
-        }
-        mLogger.info("循环额度下分账户,最近五年内历史表现信息,逾期次数:{}", loopOverdueNum);
-        // 6.4.4 循环贷账户 R1【RevolvinLoanAct】
-        JSONArray revolvinLoanActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.RevolvinLoanAct);
-        // 6.4.4.4最近五年内历史表现信息【Last5YearsHisPerfmInfo】 content
-        Integer revolvinOverdueNum = 0;
-        if (!CollectionUtils.isEmpty(revolvinLoanActs)) {
-            for (Object obj : revolvinLoanActs) {
-                if (obj != null) {
-                    JSONObject revolvinLoanAct = (JSONObject) obj;
-                    JSONObject last5YearsHisPerFmInfo = getJsonObject(revolvinLoanAct,
-                            ZxmxContent.Last5YearsHisPerFmInfo);
-                    if (last5YearsHisPerFmInfo != null) {
-                        revolvinOverdueNum = revolvinOverdueNum + getOverdueNum(last5YearsHisPerFmInfo);
-                    }
-                }
-            }
-        }
-        mLogger.info("循环贷账户,最近五年内历史表现信息,逾期次数:{}", revolvinOverdueNum);
-        // 6.4.5 贷记卡账户 R2【CreditCardAct】
-        JSONArray creditCardActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.CreditCardAct);
-        // 6.4.5.5最近五年内历史表现信息【Last5YearsHisPerfmInfo】 content
-        Integer creditCardOverdueNum = 0;
-        if (!CollectionUtils.isEmpty(creditCardActs)) {
-            for (Object obj : creditCardActs) {
-                if (obj != null) {
-                    JSONObject creditCardAct = (JSONObject) obj;
-                    JSONObject last5YearsHisPerFmInfo = getJsonObject(creditCardAct,
-                            ZxmxContent.Last5YearsHisPerFmInfo);
-                    if (last5YearsHisPerFmInfo != null) {
-                        creditCardOverdueNum = creditCardOverdueNum + getOverdueNum(last5YearsHisPerFmInfo);
-                    }
-                }
-            }
-        }
-        mLogger.info("贷记卡账户,最近五年内历史表现信息,逾期次数:{}", creditCardOverdueNum);
-        // 6.4.6 准贷记卡账户 R3【SemiCreditCardAct】
-        JSONArray semiCreditCardActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.SemiCreditCardAct);
-        // 6.4.6.4最近五年内历史表现信息【Last5YearsHisPerfmInfo】 content
-        Integer semiCreditCardOverdueNum = 0;
-        if (!CollectionUtils.isEmpty(semiCreditCardActs)) {
-            for (Object obj : semiCreditCardActs) {
-                if (obj != null) {
-                    JSONObject semiCreditCardAct = (JSONObject) obj;
-                    JSONObject last5YearsHisPerFmInfo = getJsonObject(semiCreditCardAct,
-                            ZxmxContent.Last5YearsHisPerFmInfo);
-                    if (last5YearsHisPerFmInfo != null) {
-                        semiCreditCardOverdueNum = semiCreditCardOverdueNum + getOverdueNum(last5YearsHisPerFmInfo);
-                    }
-                }
-            }
-        }
-        mLogger.info("准贷记卡账户,最近五年内历史表现信息,逾期次数:{}", semiCreditCardOverdueNum);
-        Integer totalOverdueNum = nonrevolvingOverdueNum + loopOverdueNum + revolvinOverdueNum + creditCardOverdueNum
-                + semiCreditCardOverdueNum;
-        Integer overdueNumOfYear = getOverdueNumOfYear(totalOverdueNum);
-        mLogger.info("==========================用户:{},近一年逾期次数总数:{},评级为:{}=======================", userInfo,
-                totalOverdueNum, overdueNumOfYear);
-        return overdueNumOfYear;
-    }
-
-
-
-    /**
-     * 近一年逾期次数 评级 0 0 1 (0,5] 2 (5,10] 3 (10,15] 4 (15,20] 5 (20,25] 6 (25,30] 7
-     * (30,35] 8 (35,40] 9 >40
-     * 
-     * @param pTotalOverdueNum
-     * @return
-     */
-    private Integer getOverdueNumOfYear(Integer pTotalOverdueNum) {
-        Integer overdueNumOfYear = 0;
-        if (pTotalOverdueNum == 0) {
-            overdueNumOfYear = 0;
-        } else if (pTotalOverdueNum > 0 && pTotalOverdueNum <= 5) {
-            overdueNumOfYear = 1;
-        } else if (pTotalOverdueNum > 5 && pTotalOverdueNum <= 10) {
-            overdueNumOfYear = 2;
-        } else if (pTotalOverdueNum > 10 && pTotalOverdueNum <= 15) {
-            overdueNumOfYear = 3;
-        } else if (pTotalOverdueNum > 15 && pTotalOverdueNum <= 20) {
-            overdueNumOfYear = 4;
-        } else if (pTotalOverdueNum > 20 && pTotalOverdueNum <= 25) {
-            overdueNumOfYear = 5;
-        } else if (pTotalOverdueNum > 25 && pTotalOverdueNum <= 30) {
-            overdueNumOfYear = 6;
-        } else if (pTotalOverdueNum > 30 && pTotalOverdueNum <= 35) {
-            overdueNumOfYear = 7;
-        } else if (pTotalOverdueNum > 35 && pTotalOverdueNum <= 40) {
-            overdueNumOfYear = 8;
-        } else if (pTotalOverdueNum > 40) {
-            overdueNumOfYear = 9;
-        }
-        return overdueNumOfYear;
-    }
-
-
-
-    /**
-     * 各个账户明细还款记录,从最后一个还款日往前推12个还款日,还款记录  近一年非*且非n且非m且非c次数之和
-     * 
-     * @param pLast5YearsHisPerFmInfo
-     * @return
-     */
-    private Integer getOverdueNum(JSONObject pLast5YearsHisPerFmInfo) {
-        Integer overdueNum = 0;
-        String content = pLast5YearsHisPerFmInfo.getString(ZxmxContent.Content);
-        if (!StringUtils.isEmpty(content)) {
-            String[] repayInfos = content.split(ZxmxContent.VERTICAL_LINE);
-            for (int i = 0; i < 12; i++) {
-                // 如果索引大于长度,直接跳出循环
-                if (i > repayInfos.length - 1) {
-                    break;
-                }
-                String repayInfo = repayInfos[i];
-                if (!(repayInfo.startsWith("*") || repayInfo.startsWith("N") || repayInfo.startsWith("M")
-                        || repayInfo.startsWith("C"))) {
-                    overdueNum++;
-                }
-            }
-        }
-        return overdueNum;
-    }
-
-
-
-    /**
-     * 近六个月平均应还款额(信贷交易授信及负债信息概要
-     * :非循环贷账户信息汇总-最近6个月平均应还款+循环额度下分账户信息汇总-最近6个月平均应还款+循环贷账户信息汇总-最近6个月平均应还+
-     * 贷记卡账户信息汇总-最近6个月平均使用额度+准贷记卡账户信息汇总-最近6个月平均透支余额)
-     * 
-     * @param pCreditInfo
-     * @return
-     */
-    private Integer getAvgUsedOfSixMonth(UserInfoVo userInfo, JSONObject pCreditInfo) {
-        JSONObject creditTranDetailsInfo = getJsonObject(pCreditInfo, ZxmxContent.creditTranDetailsInfo);
-        if (creditTranDetailsInfo == null) {
-            return -1;
-        }
-        // 非循环贷账户信息汇总 - 6.4.2.3 最近一次月度表现信息 最近 6 个月平均使用额度
-        BigDecimal nonrevolvingAvgUsedOfSixMonth = BigDecimal.ZERO;
-        JSONArray nonrevolvingLoanDetInfos = creditTranDetailsInfo.getJSONArray(ZxmxContent.nonrevolvingLoanDetInfo);
-        if (!CollectionUtils.isEmpty(nonrevolvingLoanDetInfos)) {
-            for (Object obj : nonrevolvingLoanDetInfos) {
-                if (obj != null) {
-                    JSONObject nonrevolvingLoanDetInfo = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(nonrevolvingLoanDetInfo,
-                            ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        nonrevolvingAvgUsedOfSixMonth = nonrevolvingAvgUsedOfSixMonth
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.avgUsedOfSixMonth));
-                    }
-                }
-            }
-        }
-        mLogger.info("非循环贷账户信息汇总 - 最近一次月度表现信息 最近 6 个月平均使用额度:{}", nonrevolvingAvgUsedOfSixMonth);
-        // 循环额度下分账户信息汇总 - 6.4.3.3 最近一次月度表现信息 最近 6 个月平均使用额度
-        BigDecimal loopAvgUsedOfSixMonth = BigDecimal.ZERO;
-        JSONArray loopQuotaSubActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.LoopQuotaSubAct);
-        if (!CollectionUtils.isEmpty(loopQuotaSubActs)) {
-            for (Object obj : loopQuotaSubActs) {
-                if (obj != null) {
-                    JSONObject loopQuotaSubAct = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(loopQuotaSubAct, ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        loopAvgUsedOfSixMonth = loopAvgUsedOfSixMonth
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.avgUsedOfSixMonth));
-                    }
-                }
-            }
-        }
-        mLogger.info("循环额度下分账户信息汇总 - 最近一次月度表现信息 最近 6 个月平均使用额度:{}", loopAvgUsedOfSixMonth);
-        // 循环贷账户信息汇总 - 6.4.4.3 最近一次月度表现信息 最近 6 个月平均使用额度
-        BigDecimal revolvinAvgUsedOfSixMonth = BigDecimal.ZERO;
-        JSONArray revolvinLoanActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.RevolvinLoanAct);
-        if (!CollectionUtils.isEmpty(revolvinLoanActs)) {
-            for (Object obj : revolvinLoanActs) {
-                if (obj != null) {
-                    JSONObject revolvinLoanAct = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(revolvinLoanAct, ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        revolvinAvgUsedOfSixMonth = revolvinAvgUsedOfSixMonth
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.avgUsedOfSixMonth));
-                    }
-                }
-            }
-        }
-        mLogger.info("循环贷账户信息汇总 - 最近一次月度表现信息 最近 6 个月平均使用额度:{}", revolvinAvgUsedOfSixMonth);
-        // 贷记卡账户信息汇总 - 6.4.5.3 最近一次月度表现信息 最近 6 个月平均使用额度
-        BigDecimal creditCardAvgUsedOfSixMonth = BigDecimal.ZERO;
-        JSONArray creditCardActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.CreditCardAct);
-        if (!CollectionUtils.isEmpty(creditCardActs)) {
-            for (Object obj : creditCardActs) {
-                if (obj != null) {
-                    JSONObject creditCardAct = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(creditCardAct, ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        creditCardAvgUsedOfSixMonth = creditCardAvgUsedOfSixMonth
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.avgUsedOfSixMonth));
-                    }
-                }
-            }
-        }
-        mLogger.info("贷记卡账户信息汇总 - 最近一次月度表现信息 最近 6 个月平均使用额度:{}", creditCardAvgUsedOfSixMonth);
-        // 准贷记卡账户信息汇总 - 6.4.6.3 最近一次月度表现信息 最近 6 个月平均使用额度
-        BigDecimal semiCreditCardAvgUsedOfSixMonth = BigDecimal.ZERO;
-        JSONArray semiCreditCardActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.SemiCreditCardAct);
-        if (!CollectionUtils.isEmpty(semiCreditCardActs)) {
-            for (Object obj : semiCreditCardActs) {
-                if (obj != null) {
-                    JSONObject semiCreditCardAct = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(semiCreditCardAct, ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        semiCreditCardAvgUsedOfSixMonth = semiCreditCardAvgUsedOfSixMonth
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.avgUsedOfSixMonth));
-                    }
-                }
-            }
-        }
-        mLogger.info("准贷记卡账户信息汇总 - 最近一次月度表现信息 最近 6 个月平均使用额度:{}", semiCreditCardAvgUsedOfSixMonth);
-        BigDecimal totalAvgUsedOfSixMonth = nonrevolvingAvgUsedOfSixMonth.add(loopAvgUsedOfSixMonth)
-                .add(revolvinAvgUsedOfSixMonth).add(creditCardAvgUsedOfSixMonth).add(semiCreditCardAvgUsedOfSixMonth);
-        // 获取近六个月平均应还款额
-        Integer avgUsedOfSixMonth = getAvgUsedOfSixMonth(totalAvgUsedOfSixMonth);
-        mLogger.info("==========================用户:{},近六个月平均应还款总额:{},评级为:{}======================", userInfo,
-                totalAvgUsedOfSixMonth, avgUsedOfSixMonth);
-        return avgUsedOfSixMonth;
-    }
-
-
-
-    /**
-     * 获取近六个月平均应还款额评级 0 0 1 (0,10000) 2 (10000,20000] 3 (20000,30000] 4
-     * (30000,40000] 5 (40000,50000] 6 (50000,60000] 7 (60000,70000] 8
-     * (70000,80000] 9 >80000
-     * 
-     * @param pTotalAvgUsedOfSixMonth
-     * @return
-     */
-    private Integer getAvgUsedOfSixMonth(BigDecimal pTotalAvgUsedOfSixMonth) {
-        Integer avgUsedOfSixMonth = 0;
-        if (pTotalAvgUsedOfSixMonth.compareTo(BigDecimal.ZERO) == 0) {
-            avgUsedOfSixMonth = 0;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(BigDecimal.ZERO) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("10000")) <= 0) {
-            avgUsedOfSixMonth = 1;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("10000")) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("20000")) <= 0) {
-            avgUsedOfSixMonth = 2;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("20000")) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("30000")) <= 0) {
-            avgUsedOfSixMonth = 3;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("30000")) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("40000")) <= 0) {
-            avgUsedOfSixMonth = 4;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("40000")) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("50000")) <= 0) {
-            avgUsedOfSixMonth = 5;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("50000")) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("60000")) <= 0) {
-            avgUsedOfSixMonth = 6;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("60000")) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("70000")) <= 0) {
-            avgUsedOfSixMonth = 7;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("70000")) > 0
-                && pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("80000")) <= 0) {
-            avgUsedOfSixMonth = 8;
-        } else if (pTotalAvgUsedOfSixMonth.compareTo(new BigDecimal("80000")) > 0) {
-            avgUsedOfSixMonth = 9;
-        }
-        return avgUsedOfSixMonth;
-    }
-
-
-
-    /**
-     * 所有贷记卡授信金额求和
-     * 
-     * @param pCreditInfo
-     * @return
-     */
-    private Integer getCreditLines(UserInfoVo userInfo, JSONObject pCreditInfo) {
-        JSONObject creditTranDetailsInfo = getJsonObject(pCreditInfo, ZxmxContent.creditTranDetailsInfo);
-        if (creditTranDetailsInfo == null) {
-            return -1;
-        }
-        BigDecimal lines = BigDecimal.ZERO;
-        JSONArray creditCardActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.CreditCardAct);
-        if (!CollectionUtils.isEmpty(creditCardActs)) {
-            for (Object obj : creditCardActs) {
-                JSONObject creditCardAct = (JSONObject) obj;
-                JSONObject baseInfo = getJsonObject(creditCardAct, ZxmxContent.baseInfo);
-                if (baseInfo != null) {
-                    lines = lines.add(getAmount(baseInfo, ZxmxContent.Lines));
-                }
-            }
-        }
-        Integer creditLines = getCreditLines(lines);
-        mLogger.info("==========================用户:{},所有贷记卡授信金额:{},评级为:{}========================", userInfo, lines,
-                creditLines);
-        return creditLines;
-    }
-
-
-
-    /**
-     * 授信额度分级 0 0 1 (0,30000] 2 (30000,50000] 3 (50000,70000] 4 (70000,90000] 5
-     * (90000,110000] 6 (110000,130000] 7 (130000,150000] 8 (150000,200000] 9
-     * >200000
-     * 
-     * @param lines
-     * @return
-     */
-    private Integer getCreditLines(BigDecimal lines) {
-        Integer overdueTotal = 0;
-        if (lines.compareTo(BigDecimal.ZERO) == 0) {
-            overdueTotal = 0;
-        } else if (lines.compareTo(BigDecimal.ZERO) > 0 && lines.compareTo(new BigDecimal("30000")) <= 0) {
-            overdueTotal = 1;
-        } else if (lines.compareTo(new BigDecimal("30000")) > 0 && lines.compareTo(new BigDecimal("50000")) <= 0) {
-            overdueTotal = 2;
-        } else if (lines.compareTo(new BigDecimal("50000")) > 0 && lines.compareTo(new BigDecimal("70000")) <= 0) {
-            overdueTotal = 3;
-        } else if (lines.compareTo(new BigDecimal("70000")) > 0 && lines.compareTo(new BigDecimal("90000")) <= 0) {
-            overdueTotal = 4;
-        } else if (lines.compareTo(new BigDecimal("90000")) > 0 && lines.compareTo(new BigDecimal("110000")) <= 0) {
-            overdueTotal = 5;
-        } else if (lines.compareTo(new BigDecimal("110000")) > 0 && lines.compareTo(new BigDecimal("130000")) <= 0) {
-            overdueTotal = 6;
-        } else if (lines.compareTo(new BigDecimal("130000")) > 0 && lines.compareTo(new BigDecimal("150000")) <= 0) {
-            overdueTotal = 7;
-        } else if (lines.compareTo(new BigDecimal("150000")) > 0 && lines.compareTo(new BigDecimal("200000")) <= 0) {
-            overdueTotal = 8;
-        } else if (lines.compareTo(new BigDecimal("200000")) > 0) {
-            overdueTotal = 9;
-        }
-        return overdueTotal;
-    }
-
-
-
-    /**
-     * 获取逾期总金额(被追偿信息债权金额+非循环贷账户当前逾期总额+循环额度下分账户当前逾期总额+循环贷账户当前逾期总额+贷记卡账户当前逾期总额)
-     * 
-     * @param pCreditInfo
-     * @return
-     */
-    private Integer getOverdueTotal(UserInfoVo userInfo, JSONObject pCreditInfo) {
-        JSONObject creditTranDetailsInfo = getJsonObject(pCreditInfo, ZxmxContent.creditTranDetailsInfo);
-        if (creditTranDetailsInfo == null) {
-            return -1;
-        }
-        // 6.4.1.1 基本信息【BaseInfo】 Money 债权金额
-        BigDecimal money = BigDecimal.ZERO;
-        JSONObject beRecoveryDetailsInfo = getJsonObject(creditTranDetailsInfo, ZxmxContent.beRecoveryDetailsInfo);
-        if (beRecoveryDetailsInfo != null) {
-            JSONObject baseInfo = getJsonObject(beRecoveryDetailsInfo, ZxmxContent.baseInfo);
-            if (baseInfo != null) {
-                money = getAmount(baseInfo, ZxmxContent.money);
-            }
-        }
-        mLogger.info("被追偿信息债权金额,基本信息,债权金额:{}", money);
-        // 6.4.2.3 最近一次月度表现信息 CurrentOverdueTotal
-        BigDecimal nonrevolvingOverdueTotal = BigDecimal.ZERO;
-        JSONArray nonrevolvingLoanDetInfos = creditTranDetailsInfo.getJSONArray(ZxmxContent.nonrevolvingLoanDetInfo);
-        if (!CollectionUtils.isEmpty(nonrevolvingLoanDetInfos)) {
-            for (Object obj : nonrevolvingLoanDetInfos) {
-                if (obj != null) {
-                    JSONObject nonrevolvingLoanDetInfo = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(nonrevolvingLoanDetInfo,
-                            ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        nonrevolvingOverdueTotal = nonrevolvingOverdueTotal
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.currentOverdueTotal));
-                    }
-                }
-            }
-        }
-        mLogger.info("非循环贷账户,最近一次月度表现信息,当前逾期总额:{}", nonrevolvingOverdueTotal);
-        // 6.4.3.3 最近一次月度表现信息 CurrentOverdueTotal
-        BigDecimal loopOverdueTotal = BigDecimal.ZERO;
-        JSONArray loopQuotaSubActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.LoopQuotaSubAct);
-        if (!CollectionUtils.isEmpty(loopQuotaSubActs)) {
-            for (Object obj : loopQuotaSubActs) {
-                if (obj != null) {
-                    JSONObject loopQuotaSubAct = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(loopQuotaSubAct, ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        loopOverdueTotal = loopOverdueTotal
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.currentOverdueTotal));
-                    }
-                }
-            }
-        }
-        mLogger.info("循环额度下分账户,最近一次月度表现信息,当前逾期总额:{}", loopOverdueTotal);
-        // 6.4.4.3 最近一次月度表现信息 CurrentOverdueTotal
-        BigDecimal revolvinOverdueTotal = BigDecimal.ZERO;
-        JSONArray revolvinLoanActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.RevolvinLoanAct);
-        if (!CollectionUtils.isEmpty(revolvinLoanActs)) {
-            for (Object obj : revolvinLoanActs) {
-                if (obj != null) {
-                    JSONObject revolvinLoanAct = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(revolvinLoanAct, ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        revolvinOverdueTotal = revolvinOverdueTotal
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.currentOverdueTotal));
-                    }
-                }
-            }
-
-        }
-        mLogger.info("循环贷账户,最近一次月度表现信息,当前逾期总额:{}", revolvinOverdueTotal);
-        // 6.4.5.3 最近一次月度表现信息 CurrentOverdueTotal
-        BigDecimal creditCardOverdueTotal = BigDecimal.ZERO;
-        JSONArray creditCardActs = creditTranDetailsInfo.getJSONArray(ZxmxContent.CreditCardAct);
-        if (!CollectionUtils.isEmpty(creditCardActs)) {
-            for (Object obj : creditCardActs) {
-                if (obj != null) {
-                    JSONObject creditCardAct = (JSONObject) obj;
-                    JSONObject latestMonPerfmInfo = getJsonObject(creditCardAct, ZxmxContent.latestMonPerfmInfo);
-                    if (latestMonPerfmInfo != null) {
-                        creditCardOverdueTotal = creditCardOverdueTotal
-                                .add(getAmount(latestMonPerfmInfo, ZxmxContent.currentOverdueTotal));
-                    }
-                }
-            }
-        }
-        mLogger.info("贷记卡账户,最近一次月度表现信息,当前逾期总额:{}", creditCardOverdueTotal);
-        BigDecimal totalOverdueTotal = money.add(nonrevolvingOverdueTotal).add(loopOverdueTotal)
-                .add(revolvinOverdueTotal).add(creditCardOverdueTotal);
-        Integer overdueTotal = getOverdueTotal(totalOverdueTotal);
-        mLogger.info("==========================用户:{},获取逾期总金额:{},评级:{}==========================", userInfo,
-                totalOverdueTotal, overdueTotal);
-        return overdueTotal;
-    }
-
-
-
-    /**
-     * 0 0 1 (0,10000) 2 (10000,20000] 3 (20000,30000] 4 (30000,40000] 5
-     * (40000,50000] 6 (50000,60000] 7 (60000,70000] 8 (70000,80000] 9 >80000
-     * 
-     * @param totalOverdueTotal
-     * @return
-     */
-    private Integer getOverdueTotal(BigDecimal totalOverdueTotal) {
-        Integer overdueTotal = 0;
-        if (totalOverdueTotal.compareTo(BigDecimal.ZERO) == 0) {
-            overdueTotal = 0;
-        } else if (totalOverdueTotal.compareTo(BigDecimal.ZERO) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("10000")) <= 0) {
-            overdueTotal = 1;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("10000")) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("20000")) <= 0) {
-            overdueTotal = 2;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("20000")) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("30000")) <= 0) {
-            overdueTotal = 3;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("30000")) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("40000")) <= 0) {
-            overdueTotal = 4;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("40000")) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("50000")) <= 0) {
-            overdueTotal = 5;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("50000")) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("60000")) <= 0) {
-            overdueTotal = 6;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("60000")) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("70000")) <= 0) {
-            overdueTotal = 7;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("70000")) > 0
-                && totalOverdueTotal.compareTo(new BigDecimal("80000")) <= 0) {
-            overdueTotal = 8;
-        } else if (totalOverdueTotal.compareTo(new BigDecimal("80000")) > 0) {
-            overdueTotal = 9;
-        }
-        return overdueTotal;
-    }
-
-
-
-    /**
-     * 获取金额
-     * 
-     * @param pJsonObject
-     * @param pKeyName
-     * @return
-     */
-    private BigDecimal getAmount(JSONObject pJsonObject, String pKeyName) {
-        mLogger.info("获取参数:{},在对象:{}的值", pKeyName, pJsonObject);
-        String num = pJsonObject.getString(pKeyName);
-        if (StringUtils.isEmpty(num)) {
-            return BigDecimal.ZERO;
-        }
-        return new BigDecimal(num.replaceAll(ZxmxContent.SIGN_COMMA, ZxmxContent.EMPTY_STR));
-    }
-
-
-
-    /**
-     * 获取json对象
-     * 
-     * @param pJsonObject
-     * @param pKeyName
-     * @return
-     */
-    private JSONObject getJsonObject(JSONObject pJsonObject, String pKeyName) {
-        mLogger.info("获取参数:{},在对象:{}的值", pKeyName, pJsonObject);
-        JSONArray jsonArray = pJsonObject.getJSONArray(pKeyName);
-        if (CollectionUtils.isEmpty(jsonArray)) {
-            return null;
-        }
-        return (JSONObject) jsonArray.get(0);
-    }
-}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/util/XmlUtils.java b/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/util/XmlUtils.java
deleted file mode 100644
index d1807d6..0000000
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/util/XmlUtils.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.jttech.cmci.pfcs.util;
-
-import com.alibaba.fastjson.JSONObject;
-import com.jttech.cmci.pfcs.vo.req.ZxmxGetScoreReqVo;
-import org.jdom2.Document;
-import org.jdom2.Element;
-import org.jdom2.input.SAXBuilder;
-import org.springframework.util.StringUtils;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * @author Skaði the Corrupting Heart
- * @version 1.0.0
- * @ClassName xml.java
- * @Description TODO
- * @createTime 2022年04月02日 17:12
- */
-public class XmlUtils {
-
-    public static JSONObject xml2Json(String xmlStr) {
-        try {
-            if (StringUtils.isEmpty(xmlStr)) {
-                return null;
-            }
-            xmlStr = xmlStr.replaceAll("\\\n", "");
-            byte[] xml = xmlStr.getBytes("UTF-8");
-            JSONObject json = new JSONObject();
-            InputStream is = new ByteArrayInputStream(xml);
-            SAXBuilder sb = new SAXBuilder();
-            Document doc = sb.build(is);
-            Element root = doc.getRootElement();
-            json.put(root.getName(), iterateElement(root));
-
-            return json;
-        } catch (Exception pE) {
-            throw new RuntimeException("xml文件解析失败", pE);
-        }
-
-
-    }
-
-
-    private static JSONObject iterateElement(Element element) {
-        List<Element> node = element.getChildren();
-        JSONObject obj = new JSONObject();
-        List list = null;
-        for (Element child : node) {
-            list = new LinkedList();
-            String text = child.getTextTrim();
-            if (StringUtils.isEmpty(text)) {
-                if (child.getChildren().size() == 0) {
-                    continue;
-                }
-                if (obj.containsKey(child.getName())) {
-                    list = (List) obj.get(child.getName());
-                }
-                list.add(iterateElement(child)); // 遍历child的子节点
-                obj.put(child.getName(), list);
-            } else {
-                if (obj.containsKey(child.getName())) {
-                    Object value = obj.get(child.getName());
-                    try {
-                        list = (List) value;
-                    } catch (ClassCastException e) {
-                        list.add(value);
-                    }
-                }
-                if (child.getChildren().size() == 0) { // child无子节点时直接设置text
-                    obj.put(child.getName(), text);
-                } else {
-                    list.add(text);
-                    obj.put(child.getName(), list);
-                }
-            }
-        }
-        return obj;
-
-    }
-
-
-    public static void main(String[] args) {
-        String a = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ReportMessage><ReportHead><ReportIdentInfo><ReportId>2022051909455761166981</ReportId><ReportTime>2022.05.19 09:45:57</ReportTime></ReportIdentInfo><ThisQueryReqInfo><QueryName>罗玉林</QueryName><QueryCertType>身份证</QueryCertType><QueryCredNum>522424200009281017</QueryCredNum><QueryOrg>深圳市中裔信息工程融资担保有限公司</QueryOrg><QueryReasonCode>担保资格审查</QueryReasonCode></ThisQueryReqInfo><ObjPromptMsg><Info>信息主体对信用报告内容提出了0笔异议且正在处理中,请浏览时注意阅读相关内容。</Info></ObjPromptMsg></ReportHead><BaseInfo><IdentityInfo><SurveyInfo><Gender>男</Gender><DateOfBirth>2000.09.28</DateOfBirth><MaritalStatus>未婚</MaritalStatus><Education>初中及以下</Education><Degree>其他</Degree><WorkStatus>--</WorkStatus><Citizenship>--</Citizenship><Email>--</Email><ContactAddress>广东揭阳揭东区磐东镇河中村新世纪商场附近</ContactAddress><ResidenceAddress>--</ResidenceAddress></SurveyInfo><PhoneInfo><No>1</No><Phone>17685170689</Phone><InfoUpdateDate>2018.10.04</InfoUpdateDate></PhoneInfo></IdentityInfo><ResideInfo><No>1</No><ResideAddr>广东揭阳揭东区磐东镇河中村新世纪商场附近</ResideAddr><ResidePhone>--</ResidePhone><ResideStatus>--</ResideStatus><InfoUpdateDate>2018.10.04</InfoUpdateDate></ResideInfo></BaseInfo><ReportSumamry><CreditTranPromptInfo><No>1</No><BusinessType>个人住房贷款</BusinessType><AccountNum>--</AccountNum><FirstBusinessReleaseMonth>--</FirstBusinessReleaseMonth></CreditTranPromptInfo><CreditTranPromptInfo><No>2</No><BusinessType>个人商用房贷款(包括商住两用房)</BusinessType><AccountNum>--</AccountNum><FirstBusinessReleaseMonth>--</FirstBusinessReleaseMonth></CreditTranPromptInfo><CreditTranPromptInfo><No>3</No><BusinessType>其他类贷款</BusinessType><AccountNum>1</AccountNum><FirstBusinessReleaseMonth>2018.10</FirstBusinessReleaseMonth></CreditTranPromptInfo><CreditTranPromptInfo><No>4</No><BusinessType>贷记卡</BusinessType><AccountNum>--</AccountNum><FirstBusinessReleaseMonth>--</FirstBusinessReleaseMonth></CreditTranPromptInfo><CreditTranPromptInfo><No>5</No><BusinessType>准贷记卡</BusinessType><AccountNum>--</AccountNum><FirstBusinessReleaseMonth>--</FirstBusinessReleaseMonth></CreditTranPromptInfo><CreditTranPromptInfo><No>6</No><BusinessType>--</BusinessType><AccountNum>--</AccountNum><FirstBusinessReleaseMonth>--</FirstBusinessReleaseMonth></CreditTranPromptInfo><CreditTranPromptInfo><No>7</No><BusinessType>合计</BusinessType><AccountNum>1</AccountNum><FirstBusinessReleaseMonth>--</FirstBusinessReleaseMonth></CreditTranPromptInfo><CreditDefaultSumInfo><BadDebtsSummInfo><AccountNum>1</AccountNum><Balance>1,919</Balance></BadDebtsSummInfo></CreditDefaultSumInfo><CreditTranAndDebtSummInfo><NonrevolvingLoanSummInfo><OrgNum>1</OrgNum><AccountNum>1</AccountNum><AuthorizationTotal>2,665</AuthorizationTotal><Balance>1,919</Balance><AvgRepaymentLastSixMonth>2,170</AvgRepaymentLastSixMonth></NonrevolvingLoanSummInfo><RevolvingLoanAccountSummInfo/></CreditTranAndDebtSummInfo><QueryRecordSummary><LastQueryRecordInfo><LastQueryDate>2022.04.12</LastQueryDate><LastQueryOrg>商业银行\"CW\"</LastQueryOrg><LastQueryReason>信用卡审批</LastQueryReason></LastQueryRecordInfo><QueryRecordSummInfo><NumQueryOrgLoanApprovalLastOneMonth>0</NumQueryOrgLoanApprovalLastOneMonth><NumQueryOrgCreditCardApprovalLastOneMonth>0</NumQueryOrgCreditCardApprovalLastOneMonth><NumQueryLoanApprovalLastOneMonth>0</NumQueryLoanApprovalLastOneMonth><NumQueryCreditCardApprovalLastOneMonth>0</NumQueryCreditCardApprovalLastOneMonth><NumQuerySelfQueryLastOneMonth>0</NumQuerySelfQueryLastOneMonth><NumQueryPostLoanManagementLastTwoYear>3</NumQueryPostLoanManagementLastTwoYear><NumQueryGuaranteeQualificationReviewLastTwoYear>0</NumQueryGuaranteeQualificationReviewLastTwoYear><NumQuerySpecialMerchantRealNameReviewLastTwoYear>0</NumQuerySpecialMerchantRealNameReviewLastTwoYear></QueryRecordSummInfo></QueryRecordSummary></ReportSumamry><CreditTranDetailsInfo><NonrevolvingLoanDetInfo><BaseInfo><CreditPrtlIdent>账户</CreditPrtlIdent><ManagmtOrg>消费金融公司\"YY\"</ManagmtOrg><AccountId>******</AccountId><IssuanceDate>2018.10.04</IssuanceDate><DueDate>2019.08.31</DueDate><Money>2,665</Money><Currency>人民币元</Currency><Type>其他个人消费贷款</Type><GuratMode>信用/免担保</GuratMode><RepayPerid>10</RepayPerid><RepayFrequency>月</RepayFrequency><RepayType>--</RepayType><CommonBwMark>无</CommonBwMark></BaseInfo><LatestPerformanceInfo><Title>截至2022年04月30日</Title><AccountStatus>呆账</AccountStatus><Balance>1,919</Balance><LastRepayDate>2019.02.20</LastRepayDate></LatestPerformanceInfo><Last5YearsHisPerFmInfo><Title>2018年10月 —2022年04月的还款记录</Title><Content>7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|7_2,170|6_1,856|5_0|4_1,232|3_920|2_608|1_296|N_0|N_0|N_0|*_0|</Content></Last5YearsHisPerFmInfo></NonrevolvingLoanDetInfo></CreditTranDetailsInfo><NonCreditTranDetailsInfo/><PublicInfo/><OpenInfo/><QueryInfo><No>1</No><QueryDate>2022.04.12</QueryDate><QueryOrg>商业银行\"CW\"</QueryOrg><Reason>信用卡审批</Reason></QueryInfo><QueryInfo><No>2</No><QueryDate>2020.10.29</QueryDate><QueryOrg>商业银行\"AV\"</QueryOrg><Reason>信用卡审批</Reason></QueryInfo><QueryInfo><No>3</No><QueryDate>2020.10.23</QueryDate><QueryOrg>小额贷款公司\"KU\"</QueryOrg><Reason>贷款审批</Reason></QueryInfo><QueryInfo><No>4</No><QueryDate>2020.10.07</QueryDate><QueryOrg>消费金融公司\"QY\"</QueryOrg><Reason>贷款审批</Reason></QueryInfo><RptExplain><Title>报告说明</Title><Content>1. 本报告中的“数字解读”仅供使用本信用报告的银行等授信机构参考,授信机构应自行承担使用“数字解读”的相关法律责任。2. “数字解读”将信用报告内容解读为一个数值,是对信用主体未来信贷违约可能性的预测,其取值范围为 0 到 1000,分值越高,违约可能性越低;“相对位置”是信用主体的数字解读值在全部人群中的百分比排序位置,比如“&gt;50%”代表该数字解读值高于 50%的信用主体;“说明”中的“影响因素”是影响信用主体获得更高数字解读值的原因,根据当前信用报告的实际情况给出,最多有两条。“数字解读”显示为“--”的,仅代表无法根据当前信用报告内容给出数字解读值,并无其他含义。无法给出数字解读值的具体原因见“说明” 。3. 本报告的信贷交易信息提示中,“业务类型”为“其他” 的汇总信息不包含“资产处置” 和“垫款” 业务。4. 本报告中如果没有“信贷交易违约信息概要”信息,说明信用主体最近 5 年内没有连续逾期。5. 对于存在授信限额的协议信息,信息主体的可用额度需结合“授信协议信息” 中的授信额度、 授信限额信息和余额进行估算。6. 本报告中的信贷交易授信及负债信息概要展示的信息是指未结清/未销户的授信及负债信息。7. 本报告的借贷交易明细信息中,循环贷账户的到期日期是指账户授信额度的到期日期。8. 本报告的借贷交易明细信息中,借贷账户展示最近 5 年的还款情况,包括当前还款状态和当前逾期总额。9.对于通过自助渠道办理的“小额、 高频” 业务,金融机构将合并报送相关账户,展示在本报告的借贷交易明细信息中; 此时账户的还款方式为“不区分还款方式”,该账户的还款频率统一约定为“月”,“还款期数”按月计算, 其还款信息按月进行观测和更新。10.本报告中的逾期准贷记卡账户是指该账户 60 天以上的透支行为。11.本报告中的还款期数为“--”是指该账户是非分期还款。12.本报告不展示 5 年前已经结束的违约行为,以及 5 年前的欠税记录、强制执行记录、民事判决记录、行政处罚记录、电信欠费记录。13.机构说明是数据提供机构对具体业务添加的特别说明信息。14.本人声明是信息主体对信用报告中的信息所附注的简要说明,信用主体对本人声明的真实性负责。15.异议标注是征信中心添加的,用于说明信用主体对信用报告中的哪些信息有异议。16.本报告内容涉及个人隐私,查询者应依法使用、妥善保管。因使用不当造成个人信息泄露的,征信中心将不承担相关责任。17.本报告中所有金额(除“有相关还款责任的企业借款”中的金额外)均为人民币金额,参照查询日前一天的汇。18.本报告整合了数据提供机构以信息主体不同证件报送的信息。</Content></RptExplain></ReportMessage>";
-
-
-//        System.out.println(xml2Json(a));
-        ZxmxGetScoreReqVo zxmxGetScoreReqVo = new ZxmxGetScoreReqVo();
-        zxmxGetScoreReqVo.setZxData(a);
-        System.out.println(JSONObject.toJSONString(zxmxGetScoreReqVo));
-    }
-}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/UserInfoVo.java b/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/UserInfoVo.java
deleted file mode 100644
index 2a97319..0000000
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/UserInfoVo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.jttech.cmci.pfcs.vo;
-
-/**
- * @Description:用户信息
- * @Author:carsonwang
- * @Date:Created in 2022-04-07 10:52
- * @Version: 1.0
- */
-public class UserInfoVo {
-    /**
-     * 用户名
-     */
-    private String username;
-    /**
-     * 身份证号码
-     */
-    private String idNo;
-
-
-
-    public String getUsername() {
-        return username;
-    }
-
-
-
-    public void setUsername(String pUsername) {
-        username = pUsername;
-    }
-
-
-
-    public String getIdNo() {
-        return idNo;
-    }
-
-
-
-    public void setIdNo(String pIdNo) {
-        idNo = pIdNo;
-    }
-
-
-
-    public UserInfoVo() {
-    }
-
-
-
-    public UserInfoVo(String pUsername, String pIdNo) {
-        username = pUsername;
-        idNo = pIdNo;
-    }
-
-
-
-    @Override
-    public String toString() {
-        return "{\"UserInfoVo\":{" + "\"username\":\"" + username + '\"' + ",\"idNo\":\"" + idNo + '\"' + "}}";
-
-    }
-}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/req/ZxmxGetScoreReqVo.java b/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/req/ZxmxGetScoreReqVo.java
deleted file mode 100644
index e4414c6..0000000
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/req/ZxmxGetScoreReqVo.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.jttech.cmci.pfcs.vo.req;
-
-import java.io.Serializable;
-
-/**
- * @Description:征信信息请求VO
- * @Author:carsonwang
- * @Date:Created in 2022-04-06 15:27
- * @Version: 1.0
- */
-public class ZxmxGetScoreReqVo implements Serializable {
-    /**
-     * 征信数据
-     */
-    private String zxData;
-    /**
-     * 流水号
-     */
-    private String serialNum;
-    /**
-     * 请求编号
-     */
-    private String requestId;
-
-
-
-    public String getZxData() {
-        return zxData;
-    }
-
-
-
-    public void setZxData(String pZxData) {
-        zxData = pZxData;
-    }
-
-
-
-    public String getSerialNum() {
-        return serialNum;
-    }
-
-
-
-    public void setSerialNum(String pSerialNum) {
-        serialNum = pSerialNum;
-    }
-
-
-
-    public String getRequestId() {
-        return requestId;
-    }
-
-
-
-    public void setRequestId(String pRequestId) {
-        requestId = pRequestId;
-    }
-
-
-
-    @Override
-    public String toString() {
-        return "{\"ZxmxGetScoreReqVo\":{" + "\"zxData\":\"" + zxData + '\"' + ",\"serialNum\":\"" + serialNum + '\"'
-                + ",\"requestId\":\"" + requestId + '\"' + "}}";
-
-    }
-}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/resp/ZxmxGetScoreRespVo.java b/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/resp/ZxmxGetScoreRespVo.java
deleted file mode 100644
index 0e17fe6..0000000
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/vo/resp/ZxmxGetScoreRespVo.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package com.jttech.cmci.pfcs.vo.resp;
-
-import java.io.Serializable;
-
-/**
- * @Description:征信信息请求VO
- * @Author:carsonwang
- * @Date:Created in 2022-04-06 15:27
- * @Version: 1.0
- */
-public class ZxmxGetScoreRespVo implements Serializable {
-
-    /**
-     * 逾期总金额(被追偿信息债权金额+非循环贷账户当前逾期总额+循环额度下分账户当前逾期总额+循环贷账户当前逾期总额+贷记卡账户当前逾期总额)
-     */
-    private Integer overdueTotal      = 0;
-
-    /**
-     * 贷记卡授信总额度(所有贷记卡授信金额求和)
-     */
-    private Integer creditLines       = 0;
-
-    /**
-     * 近六个月平均应还款额(信贷交易授信及负债信息概要
-     * :非循环贷账户信息汇总-最近6个月平均应还款+循环额度下分账户信息汇总-最近6个月平均应还款+循环贷账户信息汇总-最近6个月平均应还+
-     * 贷记卡账户信息汇总-最近6个月平均使用额度+准贷记卡账户信息汇总-最近6个月平均透支余额)
-     */
-    private Integer avgUsedOfSixMonth = 0;
-
-    /**
-     * 近一年逾期次数("非循环贷账户/循环额度下分账户/循环贷账户/贷记卡账户/准贷记卡账户 账户中近一年还款月中为逾期的总次数")
-     */
-    private Integer overdueNumOfYear  = 0;
-
-    /**
-     * 近一年查征次数(根据查征记录中近一年查询次数计算)
-     */
-    private Integer queryNumOfYear    = 0;
-
-
-
-    public Integer getOverdueTotal() {
-        return overdueTotal;
-    }
-
-
-
-    public void setOverdueTotal(Integer pOverdueTotal) {
-        overdueTotal = pOverdueTotal;
-    }
-
-
-
-    public Integer getCreditLines() {
-        return creditLines;
-    }
-
-
-
-    public void setCreditLines(Integer pCreditLines) {
-        creditLines = pCreditLines;
-    }
-
-
-
-    public Integer getAvgUsedOfSixMonth() {
-        return avgUsedOfSixMonth;
-    }
-
-
-
-    public void setAvgUsedOfSixMonth(Integer pAvgUsedOfSixMonth) {
-        avgUsedOfSixMonth = pAvgUsedOfSixMonth;
-    }
-
-
-
-    public Integer getOverdueNumOfYear() {
-        return overdueNumOfYear;
-    }
-
-
-
-    public void setOverdueNumOfYear(Integer pOverdueNumOfYear) {
-        overdueNumOfYear = pOverdueNumOfYear;
-    }
-
-
-
-    public Integer getQueryNumOfYear() {
-        return queryNumOfYear;
-    }
-
-
-
-    public void setQueryNumOfYear(Integer pQueryNumOfYear) {
-        queryNumOfYear = pQueryNumOfYear;
-    }
-
-
-
-    public ZxmxGetScoreRespVo() {
-    }
-
-
-
-    public ZxmxGetScoreRespVo(Integer pOverdueTotal, Integer pCreditLines, Integer pAvgUsedOfSixMonth,
-            Integer pOverdueNumOfYear, Integer pQueryNumOfYear) {
-        overdueTotal = pOverdueTotal;
-        creditLines = pCreditLines;
-        avgUsedOfSixMonth = pAvgUsedOfSixMonth;
-        overdueNumOfYear = pOverdueNumOfYear;
-        queryNumOfYear = pQueryNumOfYear;
-    }
-
-
-
-    @Override
-    public String toString() {
-        return "{\"ZxmxGetScoreRespVo\":{" + "\"overdueTotal\":" + overdueTotal + ",\"creditLines\":" + creditLines
-                + ",\"avgUsedOfSixMonth\":" + avgUsedOfSixMonth + ",\"overdueNumOfYear\":" + overdueNumOfYear
-                + ",\"queryNumOfYear\":" + queryNumOfYear + "}}";
-
-    }
-}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/Application.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/Application.java
similarity index 93%
rename from cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/Application.java
rename to cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/Application.java
index 6ddb573..c0916fb 100644
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/Application.java
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/Application.java
@@ -1,4 +1,4 @@
-package com.jttech.cmci.pfcs;
+package com.jttech.pfcs;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ObjectFactory.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ObjectFactory.java
new file mode 100644
index 0000000..04328e6
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ObjectFactory.java
@@ -0,0 +1,48 @@
+
+package com.jttech.pfcs.metadata;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the com.spdbbiz.esb.metadata package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.spdbbiz.esb.metadata
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link ReqHeaderType }
+     * 
+     */
+    public ReqHeaderType createReqHeaderType() {
+        return new ReqHeaderType();
+    }
+
+    /**
+     * Create an instance of {@link RspHeaderType }
+     * 
+     */
+    public RspHeaderType createRspHeaderType() {
+        return new RspHeaderType();
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ReqHeaderType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ReqHeaderType.java
new file mode 100644
index 0000000..21797df
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/ReqHeaderType.java
@@ -0,0 +1,286 @@
+
+package com.jttech.pfcs.metadata;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>ReqHeaderType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="ReqHeaderType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="Mac" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="MacOrgId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="MsgId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="SourceSysId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="ConsumerId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="ServiceAdr" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="ServiceAction" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="ReplyAdr" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="ExtendContent" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReqHeaderType", propOrder = {
+    "mac",
+    "macOrgId",
+    "msgId",
+    "sourceSysId",
+    "consumerId",
+    "serviceAdr",
+    "serviceAction",
+    "replyAdr",
+    "extendContent"
+})
+public class ReqHeaderType {
+
+    @XmlElement(name = "Mac", required = true)
+    protected String mac;
+    @XmlElement(name = "MacOrgId", required = true)
+    protected String macOrgId;
+    @XmlElement(name = "MsgId", required = true)
+    protected String msgId;
+    @XmlElement(name = "SourceSysId", required = true)
+    protected String sourceSysId;
+    @XmlElement(name = "ConsumerId", required = true)
+    protected String consumerId;
+    @XmlElement(name = "ServiceAdr", required = true)
+    protected String serviceAdr;
+    @XmlElement(name = "ServiceAction", required = true)
+    protected String serviceAction;
+    @XmlElement(name = "ReplyAdr")
+    protected String replyAdr;
+    @XmlElement(name = "ExtendContent")
+    protected String extendContent;
+
+    /**
+     * 获取mac属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMac() {
+        return mac;
+    }
+
+    /**
+     * 设置mac属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMac(String value) {
+        this.mac = value;
+    }
+
+    /**
+     * 获取macOrgId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMacOrgId() {
+        return macOrgId;
+    }
+
+    /**
+     * 设置macOrgId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMacOrgId(String value) {
+        this.macOrgId = value;
+    }
+
+    /**
+     * 获取msgId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMsgId() {
+        return msgId;
+    }
+
+    /**
+     * 设置msgId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMsgId(String value) {
+        this.msgId = value;
+    }
+
+    /**
+     * 获取sourceSysId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSourceSysId() {
+        return sourceSysId;
+    }
+
+    /**
+     * 设置sourceSysId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSourceSysId(String value) {
+        this.sourceSysId = value;
+    }
+
+    /**
+     * 获取consumerId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getConsumerId() {
+        return consumerId;
+    }
+
+    /**
+     * 设置consumerId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setConsumerId(String value) {
+        this.consumerId = value;
+    }
+
+    /**
+     * 获取serviceAdr属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceAdr() {
+        return serviceAdr;
+    }
+
+    /**
+     * 设置serviceAdr属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceAdr(String value) {
+        this.serviceAdr = value;
+    }
+
+    /**
+     * 获取serviceAction属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceAction() {
+        return serviceAction;
+    }
+
+    /**
+     * 设置serviceAction属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceAction(String value) {
+        this.serviceAction = value;
+    }
+
+    /**
+     * 获取replyAdr属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getReplyAdr() {
+        return replyAdr;
+    }
+
+    /**
+     * 设置replyAdr属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setReplyAdr(String value) {
+        this.replyAdr = value;
+    }
+
+    /**
+     * 获取extendContent属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getExtendContent() {
+        return extendContent;
+    }
+
+    /**
+     * 设置extendContent属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setExtendContent(String value) {
+        this.extendContent = value;
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/RspHeaderType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/RspHeaderType.java
new file mode 100644
index 0000000..47826a2
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/RspHeaderType.java
@@ -0,0 +1,258 @@
+
+package com.jttech.pfcs.metadata;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>RspHeaderType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="RspHeaderType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="Mac" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="MacOrgId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="MsgId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="TargetSysId" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ *         &lt;element name="RelatedMsgId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="ServiceAdr" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="ServiceAction" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="ExtendContent" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RspHeaderType", propOrder = {
+    "mac",
+    "macOrgId",
+    "msgId",
+    "targetSysId",
+    "relatedMsgId",
+    "serviceAdr",
+    "serviceAction",
+    "extendContent"
+})
+public class RspHeaderType {
+
+    @XmlElement(name = "Mac", required = true)
+    protected String mac;
+    @XmlElement(name = "MacOrgId", required = true)
+    protected String macOrgId;
+    @XmlElement(name = "MsgId", required = true)
+    protected String msgId;
+    @XmlElement(name = "TargetSysId", required = true)
+    protected String targetSysId;
+    @XmlElement(name = "RelatedMsgId")
+    protected String relatedMsgId;
+    @XmlElement(name = "ServiceAdr")
+    protected String serviceAdr;
+    @XmlElement(name = "ServiceAction")
+    protected String serviceAction;
+    @XmlElement(name = "ExtendContent")
+    protected String extendContent;
+
+    /**
+     * 获取mac属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMac() {
+        return mac;
+    }
+
+    /**
+     * 设置mac属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMac(String value) {
+        this.mac = value;
+    }
+
+    /**
+     * 获取macOrgId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMacOrgId() {
+        return macOrgId;
+    }
+
+    /**
+     * 设置macOrgId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMacOrgId(String value) {
+        this.macOrgId = value;
+    }
+
+    /**
+     * 获取msgId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMsgId() {
+        return msgId;
+    }
+
+    /**
+     * 设置msgId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMsgId(String value) {
+        this.msgId = value;
+    }
+
+    /**
+     * 获取targetSysId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTargetSysId() {
+        return targetSysId;
+    }
+
+    /**
+     * 设置targetSysId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTargetSysId(String value) {
+        this.targetSysId = value;
+    }
+
+    /**
+     * 获取relatedMsgId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getRelatedMsgId() {
+        return relatedMsgId;
+    }
+
+    /**
+     * 设置relatedMsgId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setRelatedMsgId(String value) {
+        this.relatedMsgId = value;
+    }
+
+    /**
+     * 获取serviceAdr属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceAdr() {
+        return serviceAdr;
+    }
+
+    /**
+     * 设置serviceAdr属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceAdr(String value) {
+        this.serviceAdr = value;
+    }
+
+    /**
+     * 获取serviceAction属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceAction() {
+        return serviceAction;
+    }
+
+    /**
+     * 设置serviceAction属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceAction(String value) {
+        this.serviceAction = value;
+    }
+
+    /**
+     * 获取extendContent属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getExtendContent() {
+        return extendContent;
+    }
+
+    /**
+     * 设置extendContent属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setExtendContent(String value) {
+        this.extendContent = value;
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/package-info.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/package-info.java
new file mode 100644
index 0000000..dc7ced4
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/metadata/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://esb.spdbbiz.com/metadata", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package com.jttech.pfcs.metadata;
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/ESBServerPortType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/ESBServerPortType.java
new file mode 100644
index 0000000..b9eae5e
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/ESBServerPortType.java
@@ -0,0 +1,62 @@
+package com.jttech.pfcs.services.wsdl;
+
+import com.jttech.pfcs.util.ObjectFactory;
+import com.jttech.pfcs.vo.req.ReqEPCSnglTranType;
+import com.jttech.pfcs.vo.req.ReqPymtTrnRsltQryType;
+import com.jttech.pfcs.vo.req.ReqTranQryType;
+import com.jttech.pfcs.vo.req.ReqWHPymtTrnRsltQryType;
+import com.jttech.pfcs.vo.resp.RspEPCSnglTranType;
+import com.jttech.pfcs.vo.resp.RspPymtTrnRsltQryType;
+import com.jttech.pfcs.vo.resp.RspTranQryType;
+import com.jttech.pfcs.vo.resp.RspWHPymtTrnRsltQryType;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.bind.annotation.XmlSeeAlso;
+
+/**
+ * This class was generated by Apache CXF 3.5.1
+ * 2023-03-06T14:24:11.892+08:00
+ * Generated source version: 3.5.1
+ *
+ */
+@WebService(targetNamespace = "http://esb.spdbbiz.com/services/S080030795/wsdl", name = "ESBServerPortType")
+@XmlSeeAlso({com.jttech.pfcs.metadata.ObjectFactory.class, ObjectFactory.class})
+@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
+public interface ESBServerPortType {
+
+    @WebMethod(operationName = "TranQry", action = "urn:/TranQry")
+    @WebResult(name = "RspTranQry", targetNamespace = "http://esb.spdbbiz.com/services/S080030795", partName = "RspTranQry")
+    public RspTranQryType tranQry(
+
+        @WebParam(partName = "ReqTranQry", name = "ReqTranQry", targetNamespace = "http://esb.spdbbiz.com/services/S080030795")
+                ReqTranQryType reqTranQry
+    );
+
+    @WebMethod(operationName = "WHPymtTrnRsltQry", action = "urn:/WHPymtTrnRsltQry")
+    @WebResult(name = "RspWHPymtTrnRsltQry", targetNamespace = "http://esb.spdbbiz.com/services/S080030795", partName = "RspWHPymtTrnRsltQry")
+    public RspWHPymtTrnRsltQryType whPymtTrnRsltQry(
+
+        @WebParam(partName = "ReqWHPymtTrnRsltQry", name = "ReqWHPymtTrnRsltQry", targetNamespace = "http://esb.spdbbiz.com/services/S080030795")
+                ReqWHPymtTrnRsltQryType reqWHPymtTrnRsltQry
+    );
+
+    @WebMethod(operationName = "EPCSnglTran", action = "urn:/EPCSnglTran")
+    @WebResult(name = "RspEPCSnglTran", targetNamespace = "http://esb.spdbbiz.com/services/S080030795", partName = "RspEPCSnglTran")
+    public RspEPCSnglTranType epcSnglTran(
+
+        @WebParam(partName = "ReqEPCSnglTran", name = "ReqEPCSnglTran", targetNamespace = "http://esb.spdbbiz.com/services/S080030795")
+                ReqEPCSnglTranType reqEPCSnglTran
+    );
+
+    @WebMethod(operationName = "PymtTrnRsltQry", action = "urn:/PymtTrnRsltQry")
+    @WebResult(name = "RspPymtTrnRsltQry", targetNamespace = "http://esb.spdbbiz.com/services/S080030795", partName = "RspPymtTrnRsltQry")
+    public RspPymtTrnRsltQryType pymtTrnRsltQry(
+
+        @WebParam(partName = "ReqPymtTrnRsltQry", name = "ReqPymtTrnRsltQry", targetNamespace = "http://esb.spdbbiz.com/services/S080030795")
+                ReqPymtTrnRsltQryType reqPymtTrnRsltQry
+    );
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/S080030795.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/S080030795.java
new file mode 100644
index 0000000..7b4073f
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/services/wsdl/S080030795.java
@@ -0,0 +1,87 @@
+package com.jttech.pfcs.services.wsdl;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.Service;
+
+/**
+ * This class was generated by Apache CXF 3.5.1
+ * 2023-03-06T14:24:11.908+08:00
+ * Generated source version: 3.5.1
+ *
+ */
+@WebServiceClient(name = "S080030795",
+                  wsdlLocation = "file:/F:/idealwork/cmci-bank-pfcs/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.wsdl",
+                  targetNamespace = "http://esb.spdbbiz.com/services/S080030795/wsdl")
+public class S080030795 extends Service {
+
+    public final static URL WSDL_LOCATION;
+
+    public final static QName SERVICE = new QName("http://esb.spdbbiz.com/services/S080030795/wsdl", "S080030795");
+    public final static QName ESBServerSoapEndpoint = new QName("http://esb.spdbbiz.com/services/S080030795/wsdl", "ESBServerSoapEndpoint");
+    static {
+        URL url = null;
+        try {
+            url = new URL("file:/F:/idealwork/cmci-bank-pfcs/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.wsdl");
+        } catch (MalformedURLException e) {
+            java.util.logging.Logger.getLogger(S080030795.class.getName())
+                .log(java.util.logging.Level.INFO,
+                     "Can not initialize the default wsdl from {0}", "file:/F:/idealwork/cmci-bank-pfcs/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.wsdl");
+        }
+        WSDL_LOCATION = url;
+    }
+
+    public S080030795(URL wsdlLocation) {
+        super(wsdlLocation, SERVICE);
+    }
+
+    public S080030795(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public S080030795() {
+        super(WSDL_LOCATION, SERVICE);
+    }
+
+    public S080030795(WebServiceFeature ... features) {
+        super(WSDL_LOCATION, SERVICE, features);
+    }
+
+    public S080030795(URL wsdlLocation, WebServiceFeature ... features) {
+        super(wsdlLocation, SERVICE, features);
+    }
+
+    public S080030795(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
+        super(wsdlLocation, serviceName, features);
+    }
+
+
+
+
+    /**
+     *
+     * @return
+     *     returns ESBServerPortType
+     */
+    @WebEndpoint(name = "ESBServerSoapEndpoint")
+    public ESBServerPortType getESBServerSoapEndpoint() {
+        return super.getPort(ESBServerSoapEndpoint, ESBServerPortType.class);
+    }
+
+    /**
+     *
+     * @param features
+     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
+     * @return
+     *     returns ESBServerPortType
+     */
+    @WebEndpoint(name = "ESBServerSoapEndpoint")
+    public ESBServerPortType getESBServerSoapEndpoint(WebServiceFeature... features) {
+        return super.getPort(ESBServerSoapEndpoint, ESBServerPortType.class, features);
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/ObjectFactory.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/ObjectFactory.java
new file mode 100644
index 0000000..8363581
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/ObjectFactory.java
@@ -0,0 +1,1886 @@
+
+package com.jttech.pfcs.util;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+import com.jttech.pfcs.metadata.ReqHeaderType;
+import com.jttech.pfcs.metadata.RspHeaderType;
+import com.jttech.pfcs.vo.req.*;
+import com.jttech.pfcs.vo.resp.*;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the com.spdbbiz.esb.services.s080030795 package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+    private final static QName _ReqHeader_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ReqHeader");
+    private final static QName _RspHeader_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RspHeader");
+    private final static QName _TranDate_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranDate");
+    private final static QName _TranTime_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranTime");
+    private final static QName _TranTellerNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranTellerNo");
+    private final static QName _TranSeqNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranSeqNo");
+    private final static QName _ConsumerId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ConsumerId");
+    private final static QName _GlobalSeqNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "GlobalSeqNo");
+    private final static QName _SourceSysId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SourceSysId");
+    private final static QName _BranchId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BranchId");
+    private final static QName _TerminalCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TerminalCode");
+    private final static QName _CityCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "CityCode");
+    private final static QName _AuthrTellerNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AuthrTellerNo");
+    private final static QName _AuthrPwd_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AuthrPwd");
+    private final static QName _AuthrCardFlag_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AuthrCardFlag");
+    private final static QName _AuthrCardNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AuthrCardNo");
+    private final static QName _LangCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "LangCode");
+    private final static QName _TranCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranCode");
+    private final static QName _PIN_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PIN");
+    private final static QName _KeyVersionNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "KeyVersionNo");
+    private final static QName _SysOffset1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SysOffset1");
+    private final static QName _SysOffset2_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SysOffset2");
+    private final static QName _TargetAdr_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TargetAdr");
+    private final static QName _SourceAdr_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SourceAdr");
+    private final static QName _MsgEndFlag_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "MsgEndFlag");
+    private final static QName _MsgSeqNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "MsgSeqNo");
+    private final static QName _SubTranCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SubTranCode");
+    private final static QName _TranMode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranMode");
+    private final static QName _TranSerialNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranSerialNo");
+    private final static QName _BackendSeqNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BackendSeqNo");
+    private final static QName _BackendSysId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BackendSysId");
+    private final static QName _ReturnCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ReturnCode");
+    private final static QName _ReturnMsg_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ReturnMsg");
+    private final static QName _LinkTranCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "LinkTranCode");
+    private final static QName _SubSvcSysId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SubSvcSysId");
+    private final static QName _SubSvcId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SubSvcId");
+    private final static QName _SubSvcRetCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SubSvcRetCode");
+    private final static QName _SubSvcRetMsg_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SubSvcRetMsg");
+    private final static QName _RsrvContent_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RsrvContent");
+    private final static QName _ReqEPCSnglTran_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ReqEPCSnglTran");
+    private final static QName _PdNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PdNo");
+    private final static QName _BussType_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BussType");
+    private final static QName _RstChannelType_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RstChannelType");
+    private final static QName _MrchAcctNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "MrchAcctNo");
+    private final static QName _MrchName_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "MrchName");
+    private final static QName _ScdMrchId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ScdMrchId");
+    private final static QName _ScdMrchNm_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ScdMrchNm");
+    private final static QName _AfdsSubMercName_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AfdsSubMercName");
+    private final static QName _RqsDate_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RqsDate");
+    private final static QName _RqsTime_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RqsTime");
+    private final static QName _ClntSeq_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ClntSeq");
+    private final static QName _PyAcctNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PyAcctNo");
+    private final static QName _BkAcctType_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BkAcctType");
+    private final static QName _PyeAcctNm_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PyeAcctNm");
+    private final static QName _PyCtfId1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PyCtfId1");
+    private final static QName _PyCtfTp1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PyCtfTp1");
+    private final static QName _CardCVN2_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "CardCVN2");
+    private final static QName _TokenVldTrm_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TokenVldTrm");
+    private final static QName _PayeeMobile_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PayeeMobile");
+    private final static QName _PyOpnBrId1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PyOpnBrId1");
+    private final static QName _RepymtOpnBrNm_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RepymtOpnBrNm");
+    private final static QName _LoProvNm_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "LoProvNm");
+    private final static QName _PayeeOpnBrCityId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PayeeOpnBrCityId");
+    private final static QName _PymtAcctNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PymtAcctNo");
+    private final static QName _BscAcctType_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BscAcctType");
+    private final static QName _PymtAcctName_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PymtAcctName");
+    private final static QName _PayerCtfID2_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PayerCtfID2");
+    private final static QName _PayerCtfTp_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PayerCtfTp");
+    private final static QName _CrCrdTranPstnInfo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "CrCrdTranPstnInfo");
+    private final static QName _ValidDate1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ValidDate1");
+    private final static QName _PayerOpnBrId1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PayerOpnBrId1");
+    private final static QName _PyrOpnBrNm2_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PyrOpnBrNm2");
+    private final static QName _ProvCode_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ProvCode");
+    private final static QName _PyrOpnBrCityId_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PyrOpnBrCityId");
+    private final static QName _PayerMobile_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PayerMobile");
+    private final static QName _TranCcy_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranCcy");
+    private final static QName _TransAmt4_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TransAmt4");
+    private final static QName _ChrgAmt2_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ChrgAmt2");
+    private final static QName _CrnPct1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "CrnPct1");
+    private final static QName _OthrDsc_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "OthrDsc");
+    private final static QName _AcceptFlag_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AcceptFlag");
+    private final static QName _Abstract_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "Abstract");
+    private final static QName _TrdChnl_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TrdChnl");
+    private final static QName _PymtAgmNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PymtAgmNo");
+    private final static QName _AcctVerifyFlag_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AcctVerifyFlag");
+    private final static QName _PayPwd_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PayPwd");
+    private final static QName _UnpyRsrvFld_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "UnpyRsrvFld");
+    private final static QName _RsrvFldVal4_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RsrvFldVal4");
+    private final static QName _RsrvFldVal5_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RsrvFldVal5");
+    private final static QName _RsrvFldVal6_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RsrvFldVal6");
+    private final static QName _RspEPCSnglTran_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RspEPCSnglTran");
+    private final static QName _PcsStatus1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PcsStatus1");
+    private final static QName _TranPcsCd_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TranPcsCd");
+    private final static QName _PcsInfo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "PcsInfo");
+    private final static QName _AcceptDate_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AcceptDate");
+    private final static QName _AcceptTime_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "AcceptTime");
+    private final static QName _MrchSeqNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "MrchSeqNo");
+    private final static QName _HndlSeqNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "HndlSeqNo");
+    private final static QName _ReqPymtTrnRsltQry_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ReqPymtTrnRsltQry");
+    private final static QName _InttrIPAdr_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "InttrIPAdr");
+    private final static QName _OldMsgHdr_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "OldMsgHdr");
+    private final static QName _OldMsgBdy_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "OldMsgBdy");
+    private final static QName _RspPymtTrnRsltQry_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RspPymtTrnRsltQry");
+    private final static QName _RetMsg_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RetMsg");
+    private final static QName _ReqTranQry_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ReqTranQry");
+    private final static QName _RsrvFldVal1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RsrvFldVal1");
+    private final static QName _RsrvFldVal2_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RsrvFldVal2");
+    private final static QName _RspTranQry_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RspTranQry");
+    private final static QName _BussRetCd_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BussRetCd");
+    private final static QName _BussRetInfo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "BussRetInfo");
+    private final static QName _OrigTranDate_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "OrigTranDate");
+    private final static QName _OrigTranTime_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "OrigTranTime");
+    private final static QName _OldTranSeqNo1_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "OldTranSeqNo1");
+    private final static QName _SgnAgmNo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "SgnAgmNo");
+    private final static QName _Alias_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "Alias");
+    private final static QName _ClientNo3_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ClientNo3");
+    private final static QName _ClientName_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ClientName");
+    private final static QName _ChkCVN2Flg_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ChkCVN2Flg");
+    private final static QName _TrdStInfo_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "TrdStInfo");
+    private final static QName _ReqWHPymtTrnRsltQry_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "ReqWHPymtTrnRsltQry");
+    private final static QName _RspWHPymtTrnRsltQry_QNAME = new QName("http://esb.spdbbiz.com/services/S080030795", "RspWHPymtTrnRsltQry");
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.spdbbiz.esb.services.s080030795
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link RspWHPymtTrnRsltQryType }
+     * 
+     */
+    public RspWHPymtTrnRsltQryType createRspWHPymtTrnRsltQryType() {
+        return new RspWHPymtTrnRsltQryType();
+    }
+
+    /**
+     * Create an instance of {@link ReqWHPymtTrnRsltQryType }
+     * 
+     */
+    public ReqWHPymtTrnRsltQryType createReqWHPymtTrnRsltQryType() {
+        return new ReqWHPymtTrnRsltQryType();
+    }
+
+    /**
+     * Create an instance of {@link RspTranQryType }
+     * 
+     */
+    public RspTranQryType createRspTranQryType() {
+        return new RspTranQryType();
+    }
+
+    /**
+     * Create an instance of {@link ReqTranQryType }
+     * 
+     */
+    public ReqTranQryType createReqTranQryType() {
+        return new ReqTranQryType();
+    }
+
+    /**
+     * Create an instance of {@link RspPymtTrnRsltQryType }
+     * 
+     */
+    public RspPymtTrnRsltQryType createRspPymtTrnRsltQryType() {
+        return new RspPymtTrnRsltQryType();
+    }
+
+    /**
+     * Create an instance of {@link ReqPymtTrnRsltQryType }
+     * 
+     */
+    public ReqPymtTrnRsltQryType createReqPymtTrnRsltQryType() {
+        return new ReqPymtTrnRsltQryType();
+    }
+
+    /**
+     * Create an instance of {@link RspEPCSnglTranType }
+     * 
+     */
+    public RspEPCSnglTranType createRspEPCSnglTranType() {
+        return new RspEPCSnglTranType();
+    }
+
+    /**
+     * Create an instance of {@link ReqEPCSnglTranType }
+     * 
+     */
+    public ReqEPCSnglTranType createReqEPCSnglTranType() {
+        return new ReqEPCSnglTranType();
+    }
+
+    /**
+     * Create an instance of {@link ReqSvcHeaderType }
+     * 
+     */
+    public ReqSvcHeaderType createReqSvcHeaderType() {
+        return new ReqSvcHeaderType();
+    }
+
+    /**
+     * Create an instance of {@link RspSvcHeaderType }
+     * 
+     */
+    public RspSvcHeaderType createRspSvcHeaderType() {
+        return new RspSvcHeaderType();
+    }
+
+    /**
+     * Create an instance of {@link SubSvcRetInfoType }
+     * 
+     */
+    public SubSvcRetInfoType createSubSvcRetInfoType() {
+        return new SubSvcRetInfoType();
+    }
+
+    /**
+     * Create an instance of {@link RspWHPymtTrnRsltQryType.SvcBody }
+     * 
+     */
+    public RspWHPymtTrnRsltQryType.SvcBody createRspWHPymtTrnRsltQryTypeSvcBody() {
+        return new RspWHPymtTrnRsltQryType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link ReqWHPymtTrnRsltQryType.SvcBody }
+     * 
+     */
+    public ReqWHPymtTrnRsltQryType.SvcBody createReqWHPymtTrnRsltQryTypeSvcBody() {
+        return new ReqWHPymtTrnRsltQryType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link RspTranQryType.SvcBody }
+     * 
+     */
+    public RspTranQryType.SvcBody createRspTranQryTypeSvcBody() {
+        return new RspTranQryType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link ReqTranQryType.SvcBody }
+     * 
+     */
+    public ReqTranQryType.SvcBody createReqTranQryTypeSvcBody() {
+        return new ReqTranQryType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link RspPymtTrnRsltQryType.SvcBody }
+     * 
+     */
+    public RspPymtTrnRsltQryType.SvcBody createRspPymtTrnRsltQryTypeSvcBody() {
+        return new RspPymtTrnRsltQryType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link ReqPymtTrnRsltQryType.SvcBody }
+     * 
+     */
+    public ReqPymtTrnRsltQryType.SvcBody createReqPymtTrnRsltQryTypeSvcBody() {
+        return new ReqPymtTrnRsltQryType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link RspEPCSnglTranType.SvcBody }
+     * 
+     */
+    public RspEPCSnglTranType.SvcBody createRspEPCSnglTranTypeSvcBody() {
+        return new RspEPCSnglTranType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link ReqEPCSnglTranType.SvcBody }
+     * 
+     */
+    public ReqEPCSnglTranType.SvcBody createReqEPCSnglTranTypeSvcBody() {
+        return new ReqEPCSnglTranType.SvcBody();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReqHeaderType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link ReqHeaderType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ReqHeader")
+    public JAXBElement<ReqHeaderType> createReqHeader(ReqHeaderType value) {
+        return new JAXBElement<ReqHeaderType>(_ReqHeader_QNAME, ReqHeaderType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RspHeaderType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link RspHeaderType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RspHeader")
+    public JAXBElement<RspHeaderType> createRspHeader(RspHeaderType value) {
+        return new JAXBElement<RspHeaderType>(_RspHeader_QNAME, RspHeaderType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranDate")
+    public JAXBElement<String> createTranDate(String value) {
+        return new JAXBElement<String>(_TranDate_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranTime")
+    public JAXBElement<String> createTranTime(String value) {
+        return new JAXBElement<String>(_TranTime_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranTellerNo")
+    public JAXBElement<String> createTranTellerNo(String value) {
+        return new JAXBElement<String>(_TranTellerNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranSeqNo")
+    public JAXBElement<String> createTranSeqNo(String value) {
+        return new JAXBElement<String>(_TranSeqNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ConsumerId")
+    public JAXBElement<String> createConsumerId(String value) {
+        return new JAXBElement<String>(_ConsumerId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "GlobalSeqNo")
+    public JAXBElement<String> createGlobalSeqNo(String value) {
+        return new JAXBElement<String>(_GlobalSeqNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SourceSysId")
+    public JAXBElement<String> createSourceSysId(String value) {
+        return new JAXBElement<String>(_SourceSysId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BranchId")
+    public JAXBElement<String> createBranchId(String value) {
+        return new JAXBElement<String>(_BranchId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TerminalCode")
+    public JAXBElement<String> createTerminalCode(String value) {
+        return new JAXBElement<String>(_TerminalCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "CityCode")
+    public JAXBElement<String> createCityCode(String value) {
+        return new JAXBElement<String>(_CityCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AuthrTellerNo")
+    public JAXBElement<String> createAuthrTellerNo(String value) {
+        return new JAXBElement<String>(_AuthrTellerNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AuthrPwd")
+    public JAXBElement<String> createAuthrPwd(String value) {
+        return new JAXBElement<String>(_AuthrPwd_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AuthrCardFlag")
+    public JAXBElement<String> createAuthrCardFlag(String value) {
+        return new JAXBElement<String>(_AuthrCardFlag_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AuthrCardNo")
+    public JAXBElement<String> createAuthrCardNo(String value) {
+        return new JAXBElement<String>(_AuthrCardNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "LangCode")
+    public JAXBElement<String> createLangCode(String value) {
+        return new JAXBElement<String>(_LangCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranCode")
+    public JAXBElement<String> createTranCode(String value) {
+        return new JAXBElement<String>(_TranCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PIN")
+    public JAXBElement<String> createPIN(String value) {
+        return new JAXBElement<String>(_PIN_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "KeyVersionNo")
+    public JAXBElement<String> createKeyVersionNo(String value) {
+        return new JAXBElement<String>(_KeyVersionNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SysOffset1")
+    public JAXBElement<String> createSysOffset1(String value) {
+        return new JAXBElement<String>(_SysOffset1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SysOffset2")
+    public JAXBElement<String> createSysOffset2(String value) {
+        return new JAXBElement<String>(_SysOffset2_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TargetAdr")
+    public JAXBElement<String> createTargetAdr(String value) {
+        return new JAXBElement<String>(_TargetAdr_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SourceAdr")
+    public JAXBElement<String> createSourceAdr(String value) {
+        return new JAXBElement<String>(_SourceAdr_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "MsgEndFlag")
+    public JAXBElement<String> createMsgEndFlag(String value) {
+        return new JAXBElement<String>(_MsgEndFlag_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "MsgSeqNo")
+    public JAXBElement<String> createMsgSeqNo(String value) {
+        return new JAXBElement<String>(_MsgSeqNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SubTranCode")
+    public JAXBElement<String> createSubTranCode(String value) {
+        return new JAXBElement<String>(_SubTranCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranMode")
+    public JAXBElement<String> createTranMode(String value) {
+        return new JAXBElement<String>(_TranMode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranSerialNo")
+    public JAXBElement<String> createTranSerialNo(String value) {
+        return new JAXBElement<String>(_TranSerialNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BackendSeqNo")
+    public JAXBElement<String> createBackendSeqNo(String value) {
+        return new JAXBElement<String>(_BackendSeqNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BackendSysId")
+    public JAXBElement<String> createBackendSysId(String value) {
+        return new JAXBElement<String>(_BackendSysId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ReturnCode")
+    public JAXBElement<String> createReturnCode(String value) {
+        return new JAXBElement<String>(_ReturnCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ReturnMsg")
+    public JAXBElement<String> createReturnMsg(String value) {
+        return new JAXBElement<String>(_ReturnMsg_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "LinkTranCode")
+    public JAXBElement<String> createLinkTranCode(String value) {
+        return new JAXBElement<String>(_LinkTranCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SubSvcSysId")
+    public JAXBElement<String> createSubSvcSysId(String value) {
+        return new JAXBElement<String>(_SubSvcSysId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SubSvcId")
+    public JAXBElement<String> createSubSvcId(String value) {
+        return new JAXBElement<String>(_SubSvcId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SubSvcRetCode")
+    public JAXBElement<String> createSubSvcRetCode(String value) {
+        return new JAXBElement<String>(_SubSvcRetCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SubSvcRetMsg")
+    public JAXBElement<String> createSubSvcRetMsg(String value) {
+        return new JAXBElement<String>(_SubSvcRetMsg_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RsrvContent")
+    public JAXBElement<String> createRsrvContent(String value) {
+        return new JAXBElement<String>(_RsrvContent_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReqEPCSnglTranType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link ReqEPCSnglTranType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ReqEPCSnglTran")
+    public JAXBElement<ReqEPCSnglTranType> createReqEPCSnglTran(ReqEPCSnglTranType value) {
+        return new JAXBElement<ReqEPCSnglTranType>(_ReqEPCSnglTran_QNAME, ReqEPCSnglTranType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PdNo")
+    public JAXBElement<String> createPdNo(String value) {
+        return new JAXBElement<String>(_PdNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BussType")
+    public JAXBElement<String> createBussType(String value) {
+        return new JAXBElement<String>(_BussType_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RstChannelType")
+    public JAXBElement<String> createRstChannelType(String value) {
+        return new JAXBElement<String>(_RstChannelType_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "MrchAcctNo")
+    public JAXBElement<String> createMrchAcctNo(String value) {
+        return new JAXBElement<String>(_MrchAcctNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "MrchName")
+    public JAXBElement<String> createMrchName(String value) {
+        return new JAXBElement<String>(_MrchName_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ScdMrchId")
+    public JAXBElement<String> createScdMrchId(String value) {
+        return new JAXBElement<String>(_ScdMrchId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ScdMrchNm")
+    public JAXBElement<String> createScdMrchNm(String value) {
+        return new JAXBElement<String>(_ScdMrchNm_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AfdsSubMercName")
+    public JAXBElement<String> createAfdsSubMercName(String value) {
+        return new JAXBElement<String>(_AfdsSubMercName_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RqsDate")
+    public JAXBElement<String> createRqsDate(String value) {
+        return new JAXBElement<String>(_RqsDate_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RqsTime")
+    public JAXBElement<String> createRqsTime(String value) {
+        return new JAXBElement<String>(_RqsTime_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ClntSeq")
+    public JAXBElement<String> createClntSeq(String value) {
+        return new JAXBElement<String>(_ClntSeq_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PyAcctNo")
+    public JAXBElement<String> createPyAcctNo(String value) {
+        return new JAXBElement<String>(_PyAcctNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BkAcctType")
+    public JAXBElement<String> createBkAcctType(String value) {
+        return new JAXBElement<String>(_BkAcctType_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PyeAcctNm")
+    public JAXBElement<String> createPyeAcctNm(String value) {
+        return new JAXBElement<String>(_PyeAcctNm_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PyCtfId1")
+    public JAXBElement<String> createPyCtfId1(String value) {
+        return new JAXBElement<String>(_PyCtfId1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PyCtfTp1")
+    public JAXBElement<String> createPyCtfTp1(String value) {
+        return new JAXBElement<String>(_PyCtfTp1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "CardCVN2")
+    public JAXBElement<String> createCardCVN2(String value) {
+        return new JAXBElement<String>(_CardCVN2_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TokenVldTrm")
+    public JAXBElement<String> createTokenVldTrm(String value) {
+        return new JAXBElement<String>(_TokenVldTrm_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PayeeMobile")
+    public JAXBElement<String> createPayeeMobile(String value) {
+        return new JAXBElement<String>(_PayeeMobile_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PyOpnBrId1")
+    public JAXBElement<String> createPyOpnBrId1(String value) {
+        return new JAXBElement<String>(_PyOpnBrId1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RepymtOpnBrNm")
+    public JAXBElement<String> createRepymtOpnBrNm(String value) {
+        return new JAXBElement<String>(_RepymtOpnBrNm_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "LoProvNm")
+    public JAXBElement<String> createLoProvNm(String value) {
+        return new JAXBElement<String>(_LoProvNm_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PayeeOpnBrCityId")
+    public JAXBElement<String> createPayeeOpnBrCityId(String value) {
+        return new JAXBElement<String>(_PayeeOpnBrCityId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PymtAcctNo")
+    public JAXBElement<String> createPymtAcctNo(String value) {
+        return new JAXBElement<String>(_PymtAcctNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BscAcctType")
+    public JAXBElement<String> createBscAcctType(String value) {
+        return new JAXBElement<String>(_BscAcctType_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PymtAcctName")
+    public JAXBElement<String> createPymtAcctName(String value) {
+        return new JAXBElement<String>(_PymtAcctName_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PayerCtfID2")
+    public JAXBElement<String> createPayerCtfID2(String value) {
+        return new JAXBElement<String>(_PayerCtfID2_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PayerCtfTp")
+    public JAXBElement<String> createPayerCtfTp(String value) {
+        return new JAXBElement<String>(_PayerCtfTp_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "CrCrdTranPstnInfo")
+    public JAXBElement<String> createCrCrdTranPstnInfo(String value) {
+        return new JAXBElement<String>(_CrCrdTranPstnInfo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ValidDate1")
+    public JAXBElement<String> createValidDate1(String value) {
+        return new JAXBElement<String>(_ValidDate1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PayerOpnBrId1")
+    public JAXBElement<String> createPayerOpnBrId1(String value) {
+        return new JAXBElement<String>(_PayerOpnBrId1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PyrOpnBrNm2")
+    public JAXBElement<String> createPyrOpnBrNm2(String value) {
+        return new JAXBElement<String>(_PyrOpnBrNm2_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ProvCode")
+    public JAXBElement<String> createProvCode(String value) {
+        return new JAXBElement<String>(_ProvCode_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PyrOpnBrCityId")
+    public JAXBElement<String> createPyrOpnBrCityId(String value) {
+        return new JAXBElement<String>(_PyrOpnBrCityId_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PayerMobile")
+    public JAXBElement<String> createPayerMobile(String value) {
+        return new JAXBElement<String>(_PayerMobile_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranCcy")
+    public JAXBElement<String> createTranCcy(String value) {
+        return new JAXBElement<String>(_TranCcy_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TransAmt4")
+    public JAXBElement<String> createTransAmt4(String value) {
+        return new JAXBElement<String>(_TransAmt4_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ChrgAmt2")
+    public JAXBElement<String> createChrgAmt2(String value) {
+        return new JAXBElement<String>(_ChrgAmt2_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "CrnPct1")
+    public JAXBElement<String> createCrnPct1(String value) {
+        return new JAXBElement<String>(_CrnPct1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "OthrDsc")
+    public JAXBElement<String> createOthrDsc(String value) {
+        return new JAXBElement<String>(_OthrDsc_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AcceptFlag")
+    public JAXBElement<String> createAcceptFlag(String value) {
+        return new JAXBElement<String>(_AcceptFlag_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "Abstract")
+    public JAXBElement<String> createAbstract(String value) {
+        return new JAXBElement<String>(_Abstract_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TrdChnl")
+    public JAXBElement<String> createTrdChnl(String value) {
+        return new JAXBElement<String>(_TrdChnl_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PymtAgmNo")
+    public JAXBElement<String> createPymtAgmNo(String value) {
+        return new JAXBElement<String>(_PymtAgmNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AcctVerifyFlag")
+    public JAXBElement<String> createAcctVerifyFlag(String value) {
+        return new JAXBElement<String>(_AcctVerifyFlag_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PayPwd")
+    public JAXBElement<String> createPayPwd(String value) {
+        return new JAXBElement<String>(_PayPwd_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "UnpyRsrvFld")
+    public JAXBElement<String> createUnpyRsrvFld(String value) {
+        return new JAXBElement<String>(_UnpyRsrvFld_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RsrvFldVal4")
+    public JAXBElement<String> createRsrvFldVal4(String value) {
+        return new JAXBElement<String>(_RsrvFldVal4_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RsrvFldVal5")
+    public JAXBElement<String> createRsrvFldVal5(String value) {
+        return new JAXBElement<String>(_RsrvFldVal5_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RsrvFldVal6")
+    public JAXBElement<String> createRsrvFldVal6(String value) {
+        return new JAXBElement<String>(_RsrvFldVal6_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RspEPCSnglTranType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link RspEPCSnglTranType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RspEPCSnglTran")
+    public JAXBElement<RspEPCSnglTranType> createRspEPCSnglTran(RspEPCSnglTranType value) {
+        return new JAXBElement<RspEPCSnglTranType>(_RspEPCSnglTran_QNAME, RspEPCSnglTranType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PcsStatus1")
+    public JAXBElement<String> createPcsStatus1(String value) {
+        return new JAXBElement<String>(_PcsStatus1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TranPcsCd")
+    public JAXBElement<String> createTranPcsCd(String value) {
+        return new JAXBElement<String>(_TranPcsCd_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "PcsInfo")
+    public JAXBElement<String> createPcsInfo(String value) {
+        return new JAXBElement<String>(_PcsInfo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AcceptDate")
+    public JAXBElement<String> createAcceptDate(String value) {
+        return new JAXBElement<String>(_AcceptDate_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "AcceptTime")
+    public JAXBElement<String> createAcceptTime(String value) {
+        return new JAXBElement<String>(_AcceptTime_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "MrchSeqNo")
+    public JAXBElement<String> createMrchSeqNo(String value) {
+        return new JAXBElement<String>(_MrchSeqNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "HndlSeqNo")
+    public JAXBElement<String> createHndlSeqNo(String value) {
+        return new JAXBElement<String>(_HndlSeqNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReqPymtTrnRsltQryType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link ReqPymtTrnRsltQryType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ReqPymtTrnRsltQry")
+    public JAXBElement<ReqPymtTrnRsltQryType> createReqPymtTrnRsltQry(ReqPymtTrnRsltQryType value) {
+        return new JAXBElement<ReqPymtTrnRsltQryType>(_ReqPymtTrnRsltQry_QNAME, ReqPymtTrnRsltQryType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "InttrIPAdr")
+    public JAXBElement<String> createInttrIPAdr(String value) {
+        return new JAXBElement<String>(_InttrIPAdr_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "OldMsgHdr")
+    public JAXBElement<String> createOldMsgHdr(String value) {
+        return new JAXBElement<String>(_OldMsgHdr_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "OldMsgBdy")
+    public JAXBElement<String> createOldMsgBdy(String value) {
+        return new JAXBElement<String>(_OldMsgBdy_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RspPymtTrnRsltQryType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link RspPymtTrnRsltQryType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RspPymtTrnRsltQry")
+    public JAXBElement<RspPymtTrnRsltQryType> createRspPymtTrnRsltQry(RspPymtTrnRsltQryType value) {
+        return new JAXBElement<RspPymtTrnRsltQryType>(_RspPymtTrnRsltQry_QNAME, RspPymtTrnRsltQryType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RetMsg")
+    public JAXBElement<String> createRetMsg(String value) {
+        return new JAXBElement<String>(_RetMsg_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReqTranQryType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link ReqTranQryType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ReqTranQry")
+    public JAXBElement<ReqTranQryType> createReqTranQry(ReqTranQryType value) {
+        return new JAXBElement<ReqTranQryType>(_ReqTranQry_QNAME, ReqTranQryType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RsrvFldVal1")
+    public JAXBElement<String> createRsrvFldVal1(String value) {
+        return new JAXBElement<String>(_RsrvFldVal1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RsrvFldVal2")
+    public JAXBElement<String> createRsrvFldVal2(String value) {
+        return new JAXBElement<String>(_RsrvFldVal2_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RspTranQryType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link RspTranQryType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RspTranQry")
+    public JAXBElement<RspTranQryType> createRspTranQry(RspTranQryType value) {
+        return new JAXBElement<RspTranQryType>(_RspTranQry_QNAME, RspTranQryType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BussRetCd")
+    public JAXBElement<String> createBussRetCd(String value) {
+        return new JAXBElement<String>(_BussRetCd_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "BussRetInfo")
+    public JAXBElement<String> createBussRetInfo(String value) {
+        return new JAXBElement<String>(_BussRetInfo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "OrigTranDate")
+    public JAXBElement<String> createOrigTranDate(String value) {
+        return new JAXBElement<String>(_OrigTranDate_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "OrigTranTime")
+    public JAXBElement<String> createOrigTranTime(String value) {
+        return new JAXBElement<String>(_OrigTranTime_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "OldTranSeqNo1")
+    public JAXBElement<String> createOldTranSeqNo1(String value) {
+        return new JAXBElement<String>(_OldTranSeqNo1_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "SgnAgmNo")
+    public JAXBElement<String> createSgnAgmNo(String value) {
+        return new JAXBElement<String>(_SgnAgmNo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "Alias")
+    public JAXBElement<String> createAlias(String value) {
+        return new JAXBElement<String>(_Alias_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ClientNo3")
+    public JAXBElement<String> createClientNo3(String value) {
+        return new JAXBElement<String>(_ClientNo3_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ClientName")
+    public JAXBElement<String> createClientName(String value) {
+        return new JAXBElement<String>(_ClientName_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ChkCVN2Flg")
+    public JAXBElement<String> createChkCVN2Flg(String value) {
+        return new JAXBElement<String>(_ChkCVN2Flg_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "TrdStInfo")
+    public JAXBElement<String> createTrdStInfo(String value) {
+        return new JAXBElement<String>(_TrdStInfo_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReqWHPymtTrnRsltQryType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link ReqWHPymtTrnRsltQryType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "ReqWHPymtTrnRsltQry")
+    public JAXBElement<ReqWHPymtTrnRsltQryType> createReqWHPymtTrnRsltQry(ReqWHPymtTrnRsltQryType value) {
+        return new JAXBElement<ReqWHPymtTrnRsltQryType>(_ReqWHPymtTrnRsltQry_QNAME, ReqWHPymtTrnRsltQryType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RspWHPymtTrnRsltQryType }{@code >}
+     * 
+     * @param value
+     *     Java instance representing xml element's value.
+     * @return
+     *     the new instance of {@link JAXBElement }{@code <}{@link RspWHPymtTrnRsltQryType }{@code >}
+     */
+    @XmlElementDecl(namespace = "http://esb.spdbbiz.com/services/S080030795", name = "RspWHPymtTrnRsltQry")
+    public JAXBElement<RspWHPymtTrnRsltQryType> createRspWHPymtTrnRsltQry(RspWHPymtTrnRsltQryType value) {
+        return new JAXBElement<RspWHPymtTrnRsltQryType>(_RspWHPymtTrnRsltQry_QNAME, RspWHPymtTrnRsltQryType.class, null, value);
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/XmlUtils.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/XmlUtils.java
new file mode 100644
index 0000000..ca3f028
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/util/XmlUtils.java
@@ -0,0 +1,83 @@
+package com.jttech.pfcs.util;
+
+import com.alibaba.fastjson.JSONObject;
+import org.jdom2.Document;
+import org.jdom2.Element;
+import org.jdom2.input.SAXBuilder;
+import org.springframework.util.StringUtils;
+
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * @author Skaði the Corrupting Heart
+ * @version 1.0.0
+ * @ClassName xml.java
+ * @Description TODO
+ * @createTime 2022年04月02日 17:12
+ */
+public class XmlUtils {
+
+    public static JSONObject xml2Json(String xmlStr) {
+        try {
+            if (StringUtils.isEmpty(xmlStr)) {
+                return null;
+            }
+            xmlStr = xmlStr.replaceAll("\\\n", "");
+            byte[] xml = xmlStr.getBytes("UTF-8");
+            JSONObject json = new JSONObject();
+            InputStream is = new ByteArrayInputStream(xml);
+            SAXBuilder sb = new SAXBuilder();
+            Document doc = sb.build(is);
+            Element root = doc.getRootElement();
+            json.put(root.getName(), iterateElement(root));
+
+            return json;
+        } catch (Exception pE) {
+            throw new RuntimeException("xml文件解析失败", pE);
+        }
+
+
+    }
+
+
+    private static JSONObject iterateElement(Element element) {
+        List<Element> node = element.getChildren();
+        JSONObject obj = new JSONObject();
+        List list = null;
+        for (Element child : node) {
+            list = new LinkedList();
+            String text = child.getTextTrim();
+            if (StringUtils.isEmpty(text)) {
+                if (child.getChildren().size() == 0) {
+                    continue;
+                }
+                if (obj.containsKey(child.getName())) {
+                    list = (List) obj.get(child.getName());
+                }
+                list.add(iterateElement(child)); // 遍历child的子节点
+                obj.put(child.getName(), list);
+            } else {
+                if (obj.containsKey(child.getName())) {
+                    Object value = obj.get(child.getName());
+                    try {
+                        list = (List) value;
+                    } catch (ClassCastException e) {
+                        list.add(value);
+                    }
+                }
+                if (child.getChildren().size() == 0) { // child无子节点时直接设置text
+                    obj.put(child.getName(), text);
+                } else {
+                    list.add(text);
+                    obj.put(child.getName(), list);
+                }
+            }
+        }
+        return obj;
+
+    }
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/util/DateUtil.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/DateUtil.java
similarity index 99%
rename from cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/util/DateUtil.java
rename to cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/DateUtil.java
index 08c2626..7ff08a0 100644
--- a/cmci-pfcs-gateway/src/main/java/com/jttech/cmci/pfcs/util/DateUtil.java
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/DateUtil.java
@@ -1,4 +1,4 @@
-package com.jttech.cmci.pfcs.util;
+package com.jttech.pfcs.vo;
 
 import org.springframework.util.StringUtils;
 
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqEPCSnglTranType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqEPCSnglTranType.java
new file mode 100644
index 0000000..b2898ad
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqEPCSnglTranType.java
@@ -0,0 +1,1576 @@
+
+package com.jttech.pfcs.vo.req;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>ReqEPCSnglTranType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="ReqEPCSnglTranType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="ReqSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}ReqSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PdNo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussType" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RstChannelType"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchAcctNo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchId"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchNm"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AfdsSubMercName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RqsDate"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RqsTime"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ClntSeq"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyAcctNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BkAcctType" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyeAcctNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfId1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfTp1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CardCVN2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TokenVldTrm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeMobile" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyOpnBrId1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RepymtOpnBrNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}LoProvNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeOpnBrCityId" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BscAcctType" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfID2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfTp" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CrCrdTranPstnInfo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ValidDate1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerOpnBrId1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrNm2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ProvCode" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrCityId" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerMobile" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCcy"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TransAmt4"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChrgAmt2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CrnPct1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OthrDsc"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptFlag" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}Abstract" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TrdChnl" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAgmNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcctVerifyFlag" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayPwd" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}UnpyRsrvFld" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal4" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal5" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal6" minOccurs="0"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReqEPCSnglTranType", propOrder = {
+    "reqSvcHeader",
+    "svcBody"
+})
+public class ReqEPCSnglTranType {
+
+    @XmlElement(name = "ReqSvcHeader", required = true)
+    protected ReqSvcHeaderType reqSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected ReqEPCSnglTranType.SvcBody svcBody;
+
+    /**
+     * 获取reqSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public ReqSvcHeaderType getReqSvcHeader() {
+        return reqSvcHeader;
+    }
+
+    /**
+     * 设置reqSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public void setReqSvcHeader(ReqSvcHeaderType value) {
+        this.reqSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqEPCSnglTranType.SvcBody }
+     *     
+     */
+    public ReqEPCSnglTranType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqEPCSnglTranType.SvcBody }
+     *     
+     */
+    public void setSvcBody(ReqEPCSnglTranType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PdNo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussType" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RstChannelType"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchAcctNo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchId"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchNm"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AfdsSubMercName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RqsDate"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RqsTime"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ClntSeq"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyAcctNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BkAcctType" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyeAcctNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfId1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfTp1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CardCVN2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TokenVldTrm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeMobile" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyOpnBrId1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RepymtOpnBrNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}LoProvNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeOpnBrCityId" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BscAcctType" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfID2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfTp" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CrCrdTranPstnInfo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ValidDate1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerOpnBrId1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrNm2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ProvCode" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrCityId" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerMobile" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCcy"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TransAmt4"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChrgAmt2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CrnPct1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OthrDsc"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptFlag" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}Abstract" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TrdChnl" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAgmNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcctVerifyFlag" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayPwd" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}UnpyRsrvFld" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal4" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal5" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal6" minOccurs="0"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "pdNo",
+        "bussType",
+        "rstChannelType",
+        "mrchAcctNo",
+        "mrchName",
+        "scdMrchId",
+        "scdMrchNm",
+        "afdsSubMercName",
+        "rqsDate",
+        "rqsTime",
+        "clntSeq",
+        "pyAcctNo",
+        "bkAcctType",
+        "pyeAcctNm",
+        "pyCtfId1",
+        "pyCtfTp1",
+        "cardCVN2",
+        "tokenVldTrm",
+        "payeeMobile",
+        "pyOpnBrId1",
+        "repymtOpnBrNm",
+        "loProvNm",
+        "payeeOpnBrCityId",
+        "pymtAcctNo",
+        "bscAcctType",
+        "pymtAcctName",
+        "payerCtfID2",
+        "payerCtfTp",
+        "crCrdTranPstnInfo",
+        "validDate1",
+        "payerOpnBrId1",
+        "pyrOpnBrNm2",
+        "provCode",
+        "pyrOpnBrCityId",
+        "payerMobile",
+        "tranCcy",
+        "transAmt4",
+        "chrgAmt2",
+        "crnPct1",
+        "othrDsc",
+        "acceptFlag",
+        "_abstract",
+        "trdChnl",
+        "pymtAgmNo",
+        "acctVerifyFlag",
+        "payPwd",
+        "unpyRsrvFld",
+        "rsrvFldVal4",
+        "rsrvFldVal5",
+        "rsrvFldVal6"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "PdNo", required = true)
+        protected String pdNo;
+        @XmlElement(name = "BussType")
+        protected String bussType;
+        @XmlElement(name = "RstChannelType", required = true)
+        protected String rstChannelType;
+        @XmlElement(name = "MrchAcctNo", required = true)
+        protected String mrchAcctNo;
+        @XmlElement(name = "MrchName")
+        protected String mrchName;
+        @XmlElement(name = "ScdMrchId", required = true)
+        protected String scdMrchId;
+        @XmlElement(name = "ScdMrchNm", required = true)
+        protected String scdMrchNm;
+        @XmlElement(name = "AfdsSubMercName")
+        protected String afdsSubMercName;
+        @XmlElement(name = "RqsDate", required = true)
+        protected String rqsDate;
+        @XmlElement(name = "RqsTime", required = true)
+        protected String rqsTime;
+        @XmlElement(name = "ClntSeq", required = true)
+        protected String clntSeq;
+        @XmlElement(name = "PyAcctNo")
+        protected String pyAcctNo;
+        @XmlElement(name = "BkAcctType")
+        protected String bkAcctType;
+        @XmlElement(name = "PyeAcctNm")
+        protected String pyeAcctNm;
+        @XmlElement(name = "PyCtfId1")
+        protected String pyCtfId1;
+        @XmlElement(name = "PyCtfTp1")
+        protected String pyCtfTp1;
+        @XmlElement(name = "CardCVN2")
+        protected String cardCVN2;
+        @XmlElement(name = "TokenVldTrm")
+        protected String tokenVldTrm;
+        @XmlElement(name = "PayeeMobile")
+        protected String payeeMobile;
+        @XmlElement(name = "PyOpnBrId1")
+        protected String pyOpnBrId1;
+        @XmlElement(name = "RepymtOpnBrNm")
+        protected String repymtOpnBrNm;
+        @XmlElement(name = "LoProvNm")
+        protected String loProvNm;
+        @XmlElement(name = "PayeeOpnBrCityId")
+        protected String payeeOpnBrCityId;
+        @XmlElement(name = "PymtAcctNo")
+        protected String pymtAcctNo;
+        @XmlElement(name = "BscAcctType")
+        protected String bscAcctType;
+        @XmlElement(name = "PymtAcctName")
+        protected String pymtAcctName;
+        @XmlElement(name = "PayerCtfID2")
+        protected String payerCtfID2;
+        @XmlElement(name = "PayerCtfTp")
+        protected String payerCtfTp;
+        @XmlElement(name = "CrCrdTranPstnInfo")
+        protected String crCrdTranPstnInfo;
+        @XmlElement(name = "ValidDate1")
+        protected String validDate1;
+        @XmlElement(name = "PayerOpnBrId1")
+        protected String payerOpnBrId1;
+        @XmlElement(name = "PyrOpnBrNm2")
+        protected String pyrOpnBrNm2;
+        @XmlElement(name = "ProvCode")
+        protected String provCode;
+        @XmlElement(name = "PyrOpnBrCityId")
+        protected String pyrOpnBrCityId;
+        @XmlElement(name = "PayerMobile")
+        protected String payerMobile;
+        @XmlElement(name = "TranCcy", required = true)
+        protected String tranCcy;
+        @XmlElement(name = "TransAmt4", required = true)
+        protected String transAmt4;
+        @XmlElement(name = "ChrgAmt2")
+        protected String chrgAmt2;
+        @XmlElement(name = "CrnPct1")
+        protected String crnPct1;
+        @XmlElement(name = "OthrDsc", required = true)
+        protected String othrDsc;
+        @XmlElement(name = "AcceptFlag")
+        protected String acceptFlag;
+        @XmlElement(name = "Abstract")
+        protected String _abstract;
+        @XmlElement(name = "TrdChnl")
+        protected String trdChnl;
+        @XmlElement(name = "PymtAgmNo")
+        protected String pymtAgmNo;
+        @XmlElement(name = "AcctVerifyFlag")
+        protected String acctVerifyFlag;
+        @XmlElement(name = "PayPwd")
+        protected String payPwd;
+        @XmlElement(name = "UnpyRsrvFld")
+        protected String unpyRsrvFld;
+        @XmlElement(name = "RsrvFldVal4")
+        protected String rsrvFldVal4;
+        @XmlElement(name = "RsrvFldVal5")
+        protected String rsrvFldVal5;
+        @XmlElement(name = "RsrvFldVal6")
+        protected String rsrvFldVal6;
+
+        /**
+         * 获取pdNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPdNo() {
+            return pdNo;
+        }
+
+        /**
+         * 设置pdNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPdNo(String value) {
+            this.pdNo = value;
+        }
+
+        /**
+         * 获取bussType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBussType() {
+            return bussType;
+        }
+
+        /**
+         * 设置bussType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBussType(String value) {
+            this.bussType = value;
+        }
+
+        /**
+         * 获取rstChannelType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRstChannelType() {
+            return rstChannelType;
+        }
+
+        /**
+         * 设置rstChannelType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRstChannelType(String value) {
+            this.rstChannelType = value;
+        }
+
+        /**
+         * 获取mrchAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMrchAcctNo() {
+            return mrchAcctNo;
+        }
+
+        /**
+         * 设置mrchAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMrchAcctNo(String value) {
+            this.mrchAcctNo = value;
+        }
+
+        /**
+         * 获取mrchName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMrchName() {
+            return mrchName;
+        }
+
+        /**
+         * 设置mrchName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMrchName(String value) {
+            this.mrchName = value;
+        }
+
+        /**
+         * 获取scdMrchId属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getScdMrchId() {
+            return scdMrchId;
+        }
+
+        /**
+         * 设置scdMrchId属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setScdMrchId(String value) {
+            this.scdMrchId = value;
+        }
+
+        /**
+         * 获取scdMrchNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getScdMrchNm() {
+            return scdMrchNm;
+        }
+
+        /**
+         * 设置scdMrchNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setScdMrchNm(String value) {
+            this.scdMrchNm = value;
+        }
+
+        /**
+         * 获取afdsSubMercName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAfdsSubMercName() {
+            return afdsSubMercName;
+        }
+
+        /**
+         * 设置afdsSubMercName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAfdsSubMercName(String value) {
+            this.afdsSubMercName = value;
+        }
+
+        /**
+         * 获取rqsDate属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRqsDate() {
+            return rqsDate;
+        }
+
+        /**
+         * 设置rqsDate属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRqsDate(String value) {
+            this.rqsDate = value;
+        }
+
+        /**
+         * 获取rqsTime属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRqsTime() {
+            return rqsTime;
+        }
+
+        /**
+         * 设置rqsTime属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRqsTime(String value) {
+            this.rqsTime = value;
+        }
+
+        /**
+         * 获取clntSeq属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getClntSeq() {
+            return clntSeq;
+        }
+
+        /**
+         * 设置clntSeq属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setClntSeq(String value) {
+            this.clntSeq = value;
+        }
+
+        /**
+         * 获取pyAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyAcctNo() {
+            return pyAcctNo;
+        }
+
+        /**
+         * 设置pyAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyAcctNo(String value) {
+            this.pyAcctNo = value;
+        }
+
+        /**
+         * 获取bkAcctType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBkAcctType() {
+            return bkAcctType;
+        }
+
+        /**
+         * 设置bkAcctType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBkAcctType(String value) {
+            this.bkAcctType = value;
+        }
+
+        /**
+         * 获取pyeAcctNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyeAcctNm() {
+            return pyeAcctNm;
+        }
+
+        /**
+         * 设置pyeAcctNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyeAcctNm(String value) {
+            this.pyeAcctNm = value;
+        }
+
+        /**
+         * 获取pyCtfId1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyCtfId1() {
+            return pyCtfId1;
+        }
+
+        /**
+         * 设置pyCtfId1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyCtfId1(String value) {
+            this.pyCtfId1 = value;
+        }
+
+        /**
+         * 获取pyCtfTp1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyCtfTp1() {
+            return pyCtfTp1;
+        }
+
+        /**
+         * 设置pyCtfTp1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyCtfTp1(String value) {
+            this.pyCtfTp1 = value;
+        }
+
+        /**
+         * 获取cardCVN2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getCardCVN2() {
+            return cardCVN2;
+        }
+
+        /**
+         * 设置cardCVN2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setCardCVN2(String value) {
+            this.cardCVN2 = value;
+        }
+
+        /**
+         * 获取tokenVldTrm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTokenVldTrm() {
+            return tokenVldTrm;
+        }
+
+        /**
+         * 设置tokenVldTrm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTokenVldTrm(String value) {
+            this.tokenVldTrm = value;
+        }
+
+        /**
+         * 获取payeeMobile属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayeeMobile() {
+            return payeeMobile;
+        }
+
+        /**
+         * 设置payeeMobile属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayeeMobile(String value) {
+            this.payeeMobile = value;
+        }
+
+        /**
+         * 获取pyOpnBrId1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyOpnBrId1() {
+            return pyOpnBrId1;
+        }
+
+        /**
+         * 设置pyOpnBrId1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyOpnBrId1(String value) {
+            this.pyOpnBrId1 = value;
+        }
+
+        /**
+         * 获取repymtOpnBrNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRepymtOpnBrNm() {
+            return repymtOpnBrNm;
+        }
+
+        /**
+         * 设置repymtOpnBrNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRepymtOpnBrNm(String value) {
+            this.repymtOpnBrNm = value;
+        }
+
+        /**
+         * 获取loProvNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getLoProvNm() {
+            return loProvNm;
+        }
+
+        /**
+         * 设置loProvNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setLoProvNm(String value) {
+            this.loProvNm = value;
+        }
+
+        /**
+         * 获取payeeOpnBrCityId属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayeeOpnBrCityId() {
+            return payeeOpnBrCityId;
+        }
+
+        /**
+         * 设置payeeOpnBrCityId属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayeeOpnBrCityId(String value) {
+            this.payeeOpnBrCityId = value;
+        }
+
+        /**
+         * 获取pymtAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPymtAcctNo() {
+            return pymtAcctNo;
+        }
+
+        /**
+         * 设置pymtAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPymtAcctNo(String value) {
+            this.pymtAcctNo = value;
+        }
+
+        /**
+         * 获取bscAcctType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBscAcctType() {
+            return bscAcctType;
+        }
+
+        /**
+         * 设置bscAcctType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBscAcctType(String value) {
+            this.bscAcctType = value;
+        }
+
+        /**
+         * 获取pymtAcctName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPymtAcctName() {
+            return pymtAcctName;
+        }
+
+        /**
+         * 设置pymtAcctName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPymtAcctName(String value) {
+            this.pymtAcctName = value;
+        }
+
+        /**
+         * 获取payerCtfID2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerCtfID2() {
+            return payerCtfID2;
+        }
+
+        /**
+         * 设置payerCtfID2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerCtfID2(String value) {
+            this.payerCtfID2 = value;
+        }
+
+        /**
+         * 获取payerCtfTp属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerCtfTp() {
+            return payerCtfTp;
+        }
+
+        /**
+         * 设置payerCtfTp属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerCtfTp(String value) {
+            this.payerCtfTp = value;
+        }
+
+        /**
+         * 获取crCrdTranPstnInfo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getCrCrdTranPstnInfo() {
+            return crCrdTranPstnInfo;
+        }
+
+        /**
+         * 设置crCrdTranPstnInfo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setCrCrdTranPstnInfo(String value) {
+            this.crCrdTranPstnInfo = value;
+        }
+
+        /**
+         * 获取validDate1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getValidDate1() {
+            return validDate1;
+        }
+
+        /**
+         * 设置validDate1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setValidDate1(String value) {
+            this.validDate1 = value;
+        }
+
+        /**
+         * 获取payerOpnBrId1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerOpnBrId1() {
+            return payerOpnBrId1;
+        }
+
+        /**
+         * 设置payerOpnBrId1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerOpnBrId1(String value) {
+            this.payerOpnBrId1 = value;
+        }
+
+        /**
+         * 获取pyrOpnBrNm2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyrOpnBrNm2() {
+            return pyrOpnBrNm2;
+        }
+
+        /**
+         * 设置pyrOpnBrNm2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyrOpnBrNm2(String value) {
+            this.pyrOpnBrNm2 = value;
+        }
+
+        /**
+         * 获取provCode属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getProvCode() {
+            return provCode;
+        }
+
+        /**
+         * 设置provCode属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setProvCode(String value) {
+            this.provCode = value;
+        }
+
+        /**
+         * 获取pyrOpnBrCityId属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyrOpnBrCityId() {
+            return pyrOpnBrCityId;
+        }
+
+        /**
+         * 设置pyrOpnBrCityId属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyrOpnBrCityId(String value) {
+            this.pyrOpnBrCityId = value;
+        }
+
+        /**
+         * 获取payerMobile属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerMobile() {
+            return payerMobile;
+        }
+
+        /**
+         * 设置payerMobile属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerMobile(String value) {
+            this.payerMobile = value;
+        }
+
+        /**
+         * 获取tranCcy属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTranCcy() {
+            return tranCcy;
+        }
+
+        /**
+         * 设置tranCcy属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTranCcy(String value) {
+            this.tranCcy = value;
+        }
+
+        /**
+         * 获取transAmt4属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTransAmt4() {
+            return transAmt4;
+        }
+
+        /**
+         * 设置transAmt4属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTransAmt4(String value) {
+            this.transAmt4 = value;
+        }
+
+        /**
+         * 获取chrgAmt2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getChrgAmt2() {
+            return chrgAmt2;
+        }
+
+        /**
+         * 设置chrgAmt2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setChrgAmt2(String value) {
+            this.chrgAmt2 = value;
+        }
+
+        /**
+         * 获取crnPct1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getCrnPct1() {
+            return crnPct1;
+        }
+
+        /**
+         * 设置crnPct1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setCrnPct1(String value) {
+            this.crnPct1 = value;
+        }
+
+        /**
+         * 获取othrDsc属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOthrDsc() {
+            return othrDsc;
+        }
+
+        /**
+         * 设置othrDsc属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOthrDsc(String value) {
+            this.othrDsc = value;
+        }
+
+        /**
+         * 获取acceptFlag属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAcceptFlag() {
+            return acceptFlag;
+        }
+
+        /**
+         * 设置acceptFlag属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAcceptFlag(String value) {
+            this.acceptFlag = value;
+        }
+
+        /**
+         * 获取abstract属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAbstract() {
+            return _abstract;
+        }
+
+        /**
+         * 设置abstract属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAbstract(String value) {
+            this._abstract = value;
+        }
+
+        /**
+         * 获取trdChnl属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTrdChnl() {
+            return trdChnl;
+        }
+
+        /**
+         * 设置trdChnl属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTrdChnl(String value) {
+            this.trdChnl = value;
+        }
+
+        /**
+         * 获取pymtAgmNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPymtAgmNo() {
+            return pymtAgmNo;
+        }
+
+        /**
+         * 设置pymtAgmNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPymtAgmNo(String value) {
+            this.pymtAgmNo = value;
+        }
+
+        /**
+         * 获取acctVerifyFlag属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAcctVerifyFlag() {
+            return acctVerifyFlag;
+        }
+
+        /**
+         * 设置acctVerifyFlag属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAcctVerifyFlag(String value) {
+            this.acctVerifyFlag = value;
+        }
+
+        /**
+         * 获取payPwd属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayPwd() {
+            return payPwd;
+        }
+
+        /**
+         * 设置payPwd属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayPwd(String value) {
+            this.payPwd = value;
+        }
+
+        /**
+         * 获取unpyRsrvFld属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getUnpyRsrvFld() {
+            return unpyRsrvFld;
+        }
+
+        /**
+         * 设置unpyRsrvFld属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setUnpyRsrvFld(String value) {
+            this.unpyRsrvFld = value;
+        }
+
+        /**
+         * 获取rsrvFldVal4属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal4() {
+            return rsrvFldVal4;
+        }
+
+        /**
+         * 设置rsrvFldVal4属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal4(String value) {
+            this.rsrvFldVal4 = value;
+        }
+
+        /**
+         * 获取rsrvFldVal5属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal5() {
+            return rsrvFldVal5;
+        }
+
+        /**
+         * 设置rsrvFldVal5属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal5(String value) {
+            this.rsrvFldVal5 = value;
+        }
+
+        /**
+         * 获取rsrvFldVal6属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal6() {
+            return rsrvFldVal6;
+        }
+
+        /**
+         * 设置rsrvFldVal6属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal6(String value) {
+            this.rsrvFldVal6 = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqPymtTrnRsltQryType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqPymtTrnRsltQryType.java
new file mode 100644
index 0000000..869bce1
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqPymtTrnRsltQryType.java
@@ -0,0 +1,213 @@
+
+package com.jttech.pfcs.vo.req;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>ReqPymtTrnRsltQryType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="ReqPymtTrnRsltQryType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="ReqSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}ReqSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}InttrIPAdr" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgHdr" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgBdy"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReqPymtTrnRsltQryType", propOrder = {
+    "reqSvcHeader",
+    "svcBody"
+})
+public class ReqPymtTrnRsltQryType {
+
+    @XmlElement(name = "ReqSvcHeader", required = true)
+    protected ReqSvcHeaderType reqSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected ReqPymtTrnRsltQryType.SvcBody svcBody;
+
+    /**
+     * 获取reqSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public ReqSvcHeaderType getReqSvcHeader() {
+        return reqSvcHeader;
+    }
+
+    /**
+     * 设置reqSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public void setReqSvcHeader(ReqSvcHeaderType value) {
+        this.reqSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public ReqPymtTrnRsltQryType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public void setSvcBody(ReqPymtTrnRsltQryType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}InttrIPAdr" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgHdr" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgBdy"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "inttrIPAdr",
+        "oldMsgHdr",
+        "oldMsgBdy"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "InttrIPAdr")
+        protected String inttrIPAdr;
+        @XmlElement(name = "OldMsgHdr")
+        protected String oldMsgHdr;
+        @XmlElement(name = "OldMsgBdy", required = true)
+        protected String oldMsgBdy;
+
+        /**
+         * 获取inttrIPAdr属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getInttrIPAdr() {
+            return inttrIPAdr;
+        }
+
+        /**
+         * 设置inttrIPAdr属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setInttrIPAdr(String value) {
+            this.inttrIPAdr = value;
+        }
+
+        /**
+         * 获取oldMsgHdr属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOldMsgHdr() {
+            return oldMsgHdr;
+        }
+
+        /**
+         * 设置oldMsgHdr属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOldMsgHdr(String value) {
+            this.oldMsgHdr = value;
+        }
+
+        /**
+         * 获取oldMsgBdy属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOldMsgBdy() {
+            return oldMsgBdy;
+        }
+
+        /**
+         * 设置oldMsgBdy属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOldMsgBdy(String value) {
+            this.oldMsgBdy = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqSvcHeaderType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqSvcHeaderType.java
new file mode 100644
index 0000000..6f10586
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqSvcHeaderType.java
@@ -0,0 +1,790 @@
+
+package com.jttech.pfcs.vo.req;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>ReqSvcHeaderType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="ReqSvcHeaderType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranDate"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranTime"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranTellerNo"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranSeqNo"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ConsumerId"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}GlobalSeqNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SourceSysId" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BranchId" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TerminalCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CityCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AuthrTellerNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AuthrPwd" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AuthrCardFlag" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AuthrCardNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}LangCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PIN" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}KeyVersionNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SysOffset1" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SysOffset2" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TargetAdr" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SourceAdr" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MsgEndFlag" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MsgSeqNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SubTranCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranMode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranSerialNo" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReqSvcHeaderType", propOrder = {
+    "tranDate",
+    "tranTime",
+    "tranTellerNo",
+    "tranSeqNo",
+    "consumerId",
+    "globalSeqNo",
+    "sourceSysId",
+    "branchId",
+    "terminalCode",
+    "cityCode",
+    "authrTellerNo",
+    "authrPwd",
+    "authrCardFlag",
+    "authrCardNo",
+    "langCode",
+    "tranCode",
+    "pin",
+    "keyVersionNo",
+    "sysOffset1",
+    "sysOffset2",
+    "targetAdr",
+    "sourceAdr",
+    "msgEndFlag",
+    "msgSeqNo",
+    "subTranCode",
+    "tranMode",
+    "tranSerialNo"
+})
+public class ReqSvcHeaderType {
+
+    @XmlElement(name = "TranDate", required = true)
+    protected String tranDate;
+    @XmlElement(name = "TranTime", required = true)
+    protected String tranTime;
+    @XmlElement(name = "TranTellerNo", required = true)
+    protected String tranTellerNo;
+    @XmlElement(name = "TranSeqNo", required = true)
+    protected String tranSeqNo;
+    @XmlElement(name = "ConsumerId", required = true)
+    protected String consumerId;
+    @XmlElement(name = "GlobalSeqNo")
+    protected String globalSeqNo;
+    @XmlElement(name = "SourceSysId")
+    protected String sourceSysId;
+    @XmlElement(name = "BranchId")
+    protected String branchId;
+    @XmlElement(name = "TerminalCode")
+    protected String terminalCode;
+    @XmlElement(name = "CityCode")
+    protected String cityCode;
+    @XmlElement(name = "AuthrTellerNo")
+    protected String authrTellerNo;
+    @XmlElement(name = "AuthrPwd")
+    protected String authrPwd;
+    @XmlElement(name = "AuthrCardFlag")
+    protected String authrCardFlag;
+    @XmlElement(name = "AuthrCardNo")
+    protected String authrCardNo;
+    @XmlElement(name = "LangCode")
+    protected String langCode;
+    @XmlElement(name = "TranCode")
+    protected String tranCode;
+    @XmlElement(name = "PIN")
+    protected String pin;
+    @XmlElement(name = "KeyVersionNo")
+    protected String keyVersionNo;
+    @XmlElement(name = "SysOffset1")
+    protected String sysOffset1;
+    @XmlElement(name = "SysOffset2")
+    protected String sysOffset2;
+    @XmlElement(name = "TargetAdr")
+    protected String targetAdr;
+    @XmlElement(name = "SourceAdr")
+    protected String sourceAdr;
+    @XmlElement(name = "MsgEndFlag")
+    protected String msgEndFlag;
+    @XmlElement(name = "MsgSeqNo")
+    protected String msgSeqNo;
+    @XmlElement(name = "SubTranCode")
+    protected String subTranCode;
+    @XmlElement(name = "TranMode")
+    protected String tranMode;
+    @XmlElement(name = "TranSerialNo")
+    protected String tranSerialNo;
+
+    /**
+     * 获取tranDate属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranDate() {
+        return tranDate;
+    }
+
+    /**
+     * 设置tranDate属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranDate(String value) {
+        this.tranDate = value;
+    }
+
+    /**
+     * 获取tranTime属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranTime() {
+        return tranTime;
+    }
+
+    /**
+     * 设置tranTime属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranTime(String value) {
+        this.tranTime = value;
+    }
+
+    /**
+     * 获取tranTellerNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranTellerNo() {
+        return tranTellerNo;
+    }
+
+    /**
+     * 设置tranTellerNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranTellerNo(String value) {
+        this.tranTellerNo = value;
+    }
+
+    /**
+     * 获取tranSeqNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranSeqNo() {
+        return tranSeqNo;
+    }
+
+    /**
+     * 设置tranSeqNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranSeqNo(String value) {
+        this.tranSeqNo = value;
+    }
+
+    /**
+     * 获取consumerId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getConsumerId() {
+        return consumerId;
+    }
+
+    /**
+     * 设置consumerId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setConsumerId(String value) {
+        this.consumerId = value;
+    }
+
+    /**
+     * 获取globalSeqNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getGlobalSeqNo() {
+        return globalSeqNo;
+    }
+
+    /**
+     * 设置globalSeqNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setGlobalSeqNo(String value) {
+        this.globalSeqNo = value;
+    }
+
+    /**
+     * 获取sourceSysId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSourceSysId() {
+        return sourceSysId;
+    }
+
+    /**
+     * 设置sourceSysId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSourceSysId(String value) {
+        this.sourceSysId = value;
+    }
+
+    /**
+     * 获取branchId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getBranchId() {
+        return branchId;
+    }
+
+    /**
+     * 设置branchId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setBranchId(String value) {
+        this.branchId = value;
+    }
+
+    /**
+     * 获取terminalCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTerminalCode() {
+        return terminalCode;
+    }
+
+    /**
+     * 设置terminalCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTerminalCode(String value) {
+        this.terminalCode = value;
+    }
+
+    /**
+     * 获取cityCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getCityCode() {
+        return cityCode;
+    }
+
+    /**
+     * 设置cityCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setCityCode(String value) {
+        this.cityCode = value;
+    }
+
+    /**
+     * 获取authrTellerNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAuthrTellerNo() {
+        return authrTellerNo;
+    }
+
+    /**
+     * 设置authrTellerNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAuthrTellerNo(String value) {
+        this.authrTellerNo = value;
+    }
+
+    /**
+     * 获取authrPwd属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAuthrPwd() {
+        return authrPwd;
+    }
+
+    /**
+     * 设置authrPwd属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAuthrPwd(String value) {
+        this.authrPwd = value;
+    }
+
+    /**
+     * 获取authrCardFlag属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAuthrCardFlag() {
+        return authrCardFlag;
+    }
+
+    /**
+     * 设置authrCardFlag属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAuthrCardFlag(String value) {
+        this.authrCardFlag = value;
+    }
+
+    /**
+     * 获取authrCardNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAuthrCardNo() {
+        return authrCardNo;
+    }
+
+    /**
+     * 设置authrCardNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAuthrCardNo(String value) {
+        this.authrCardNo = value;
+    }
+
+    /**
+     * 获取langCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLangCode() {
+        return langCode;
+    }
+
+    /**
+     * 设置langCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLangCode(String value) {
+        this.langCode = value;
+    }
+
+    /**
+     * 获取tranCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranCode() {
+        return tranCode;
+    }
+
+    /**
+     * 设置tranCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranCode(String value) {
+        this.tranCode = value;
+    }
+
+    /**
+     * 获取pin属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getPIN() {
+        return pin;
+    }
+
+    /**
+     * 设置pin属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setPIN(String value) {
+        this.pin = value;
+    }
+
+    /**
+     * 获取keyVersionNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getKeyVersionNo() {
+        return keyVersionNo;
+    }
+
+    /**
+     * 设置keyVersionNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setKeyVersionNo(String value) {
+        this.keyVersionNo = value;
+    }
+
+    /**
+     * 获取sysOffset1属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSysOffset1() {
+        return sysOffset1;
+    }
+
+    /**
+     * 设置sysOffset1属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSysOffset1(String value) {
+        this.sysOffset1 = value;
+    }
+
+    /**
+     * 获取sysOffset2属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSysOffset2() {
+        return sysOffset2;
+    }
+
+    /**
+     * 设置sysOffset2属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSysOffset2(String value) {
+        this.sysOffset2 = value;
+    }
+
+    /**
+     * 获取targetAdr属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTargetAdr() {
+        return targetAdr;
+    }
+
+    /**
+     * 设置targetAdr属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTargetAdr(String value) {
+        this.targetAdr = value;
+    }
+
+    /**
+     * 获取sourceAdr属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSourceAdr() {
+        return sourceAdr;
+    }
+
+    /**
+     * 设置sourceAdr属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSourceAdr(String value) {
+        this.sourceAdr = value;
+    }
+
+    /**
+     * 获取msgEndFlag属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMsgEndFlag() {
+        return msgEndFlag;
+    }
+
+    /**
+     * 设置msgEndFlag属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMsgEndFlag(String value) {
+        this.msgEndFlag = value;
+    }
+
+    /**
+     * 获取msgSeqNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMsgSeqNo() {
+        return msgSeqNo;
+    }
+
+    /**
+     * 设置msgSeqNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMsgSeqNo(String value) {
+        this.msgSeqNo = value;
+    }
+
+    /**
+     * 获取subTranCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSubTranCode() {
+        return subTranCode;
+    }
+
+    /**
+     * 设置subTranCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSubTranCode(String value) {
+        this.subTranCode = value;
+    }
+
+    /**
+     * 获取tranMode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranMode() {
+        return tranMode;
+    }
+
+    /**
+     * 设置tranMode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranMode(String value) {
+        this.tranMode = value;
+    }
+
+    /**
+     * 获取tranSerialNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranSerialNo() {
+        return tranSerialNo;
+    }
+
+    /**
+     * 设置tranSerialNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranSerialNo(String value) {
+        this.tranSerialNo = value;
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqTranQryType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqTranQryType.java
new file mode 100644
index 0000000..3144255
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqTranQryType.java
@@ -0,0 +1,416 @@
+
+package com.jttech.pfcs.vo.req;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>ReqTranQryType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="ReqTranQryType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="ReqSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}ReqSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PdNo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussType" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchAcctNo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RstChannelType"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RqsDate"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchSeqNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}HndlSeqNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal2" minOccurs="0"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReqTranQryType", propOrder = {
+    "reqSvcHeader",
+    "svcBody"
+})
+public class ReqTranQryType {
+
+    @XmlElement(name = "ReqSvcHeader", required = true)
+    protected ReqSvcHeaderType reqSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected ReqTranQryType.SvcBody svcBody;
+
+    /**
+     * 获取reqSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public ReqSvcHeaderType getReqSvcHeader() {
+        return reqSvcHeader;
+    }
+
+    /**
+     * 设置reqSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public void setReqSvcHeader(ReqSvcHeaderType value) {
+        this.reqSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqTranQryType.SvcBody }
+     *     
+     */
+    public ReqTranQryType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqTranQryType.SvcBody }
+     *     
+     */
+    public void setSvcBody(ReqTranQryType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PdNo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussType" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchAcctNo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RstChannelType"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RqsDate"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchSeqNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}HndlSeqNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal2" minOccurs="0"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "pdNo",
+        "bussType",
+        "mrchAcctNo",
+        "mrchName",
+        "rstChannelType",
+        "rqsDate",
+        "mrchSeqNo",
+        "hndlSeqNo",
+        "rsrvFldVal1",
+        "rsrvFldVal2"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "PdNo", required = true)
+        protected String pdNo;
+        @XmlElement(name = "BussType")
+        protected String bussType;
+        @XmlElement(name = "MrchAcctNo", required = true)
+        protected String mrchAcctNo;
+        @XmlElement(name = "MrchName")
+        protected String mrchName;
+        @XmlElement(name = "RstChannelType", required = true)
+        protected String rstChannelType;
+        @XmlElement(name = "RqsDate", required = true)
+        protected String rqsDate;
+        @XmlElement(name = "MrchSeqNo")
+        protected String mrchSeqNo;
+        @XmlElement(name = "HndlSeqNo")
+        protected String hndlSeqNo;
+        @XmlElement(name = "RsrvFldVal1")
+        protected String rsrvFldVal1;
+        @XmlElement(name = "RsrvFldVal2")
+        protected String rsrvFldVal2;
+
+        /**
+         * 获取pdNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPdNo() {
+            return pdNo;
+        }
+
+        /**
+         * 设置pdNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPdNo(String value) {
+            this.pdNo = value;
+        }
+
+        /**
+         * 获取bussType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBussType() {
+            return bussType;
+        }
+
+        /**
+         * 设置bussType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBussType(String value) {
+            this.bussType = value;
+        }
+
+        /**
+         * 获取mrchAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMrchAcctNo() {
+            return mrchAcctNo;
+        }
+
+        /**
+         * 设置mrchAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMrchAcctNo(String value) {
+            this.mrchAcctNo = value;
+        }
+
+        /**
+         * 获取mrchName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMrchName() {
+            return mrchName;
+        }
+
+        /**
+         * 设置mrchName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMrchName(String value) {
+            this.mrchName = value;
+        }
+
+        /**
+         * 获取rstChannelType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRstChannelType() {
+            return rstChannelType;
+        }
+
+        /**
+         * 设置rstChannelType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRstChannelType(String value) {
+            this.rstChannelType = value;
+        }
+
+        /**
+         * 获取rqsDate属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRqsDate() {
+            return rqsDate;
+        }
+
+        /**
+         * 设置rqsDate属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRqsDate(String value) {
+            this.rqsDate = value;
+        }
+
+        /**
+         * 获取mrchSeqNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMrchSeqNo() {
+            return mrchSeqNo;
+        }
+
+        /**
+         * 设置mrchSeqNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMrchSeqNo(String value) {
+            this.mrchSeqNo = value;
+        }
+
+        /**
+         * 获取hndlSeqNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getHndlSeqNo() {
+            return hndlSeqNo;
+        }
+
+        /**
+         * 设置hndlSeqNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setHndlSeqNo(String value) {
+            this.hndlSeqNo = value;
+        }
+
+        /**
+         * 获取rsrvFldVal1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal1() {
+            return rsrvFldVal1;
+        }
+
+        /**
+         * 设置rsrvFldVal1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal1(String value) {
+            this.rsrvFldVal1 = value;
+        }
+
+        /**
+         * 获取rsrvFldVal2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal2() {
+            return rsrvFldVal2;
+        }
+
+        /**
+         * 设置rsrvFldVal2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal2(String value) {
+            this.rsrvFldVal2 = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqWHPymtTrnRsltQryType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqWHPymtTrnRsltQryType.java
new file mode 100644
index 0000000..0a20491
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/req/ReqWHPymtTrnRsltQryType.java
@@ -0,0 +1,213 @@
+
+package com.jttech.pfcs.vo.req;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>ReqWHPymtTrnRsltQryType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="ReqWHPymtTrnRsltQryType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="ReqSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}ReqSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}InttrIPAdr" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgHdr" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgBdy"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ReqWHPymtTrnRsltQryType", propOrder = {
+    "reqSvcHeader",
+    "svcBody"
+})
+public class ReqWHPymtTrnRsltQryType {
+
+    @XmlElement(name = "ReqSvcHeader", required = true)
+    protected ReqSvcHeaderType reqSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected ReqWHPymtTrnRsltQryType.SvcBody svcBody;
+
+    /**
+     * 获取reqSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public ReqSvcHeaderType getReqSvcHeader() {
+        return reqSvcHeader;
+    }
+
+    /**
+     * 设置reqSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqSvcHeaderType }
+     *     
+     */
+    public void setReqSvcHeader(ReqSvcHeaderType value) {
+        this.reqSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link ReqWHPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public ReqWHPymtTrnRsltQryType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ReqWHPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public void setSvcBody(ReqWHPymtTrnRsltQryType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}InttrIPAdr" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgHdr" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldMsgBdy"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "inttrIPAdr",
+        "oldMsgHdr",
+        "oldMsgBdy"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "InttrIPAdr")
+        protected String inttrIPAdr;
+        @XmlElement(name = "OldMsgHdr")
+        protected String oldMsgHdr;
+        @XmlElement(name = "OldMsgBdy", required = true)
+        protected String oldMsgBdy;
+
+        /**
+         * 获取inttrIPAdr属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getInttrIPAdr() {
+            return inttrIPAdr;
+        }
+
+        /**
+         * 设置inttrIPAdr属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setInttrIPAdr(String value) {
+            this.inttrIPAdr = value;
+        }
+
+        /**
+         * 获取oldMsgHdr属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOldMsgHdr() {
+            return oldMsgHdr;
+        }
+
+        /**
+         * 设置oldMsgHdr属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOldMsgHdr(String value) {
+            this.oldMsgHdr = value;
+        }
+
+        /**
+         * 获取oldMsgBdy属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOldMsgBdy() {
+            return oldMsgBdy;
+        }
+
+        /**
+         * 设置oldMsgBdy属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOldMsgBdy(String value) {
+            this.oldMsgBdy = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspEPCSnglTranType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspEPCSnglTranType.java
new file mode 100644
index 0000000..ff26d8c
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspEPCSnglTranType.java
@@ -0,0 +1,619 @@
+
+package com.jttech.pfcs.vo.resp;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>RspEPCSnglTranType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="RspEPCSnglTranType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="RspSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}RspSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PcsStatus1"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranPcsCd"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PcsInfo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptDate"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptTime"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyAcctNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyeAcctNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchSeqNo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}HndlSeqNo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCcy"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TransAmt4"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChrgAmt2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal4" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal5" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal6" minOccurs="0"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RspEPCSnglTranType", propOrder = {
+    "rspSvcHeader",
+    "svcBody"
+})
+public class RspEPCSnglTranType {
+
+    @XmlElement(name = "RspSvcHeader", required = true)
+    protected RspSvcHeaderType rspSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected RspEPCSnglTranType.SvcBody svcBody;
+
+    /**
+     * 获取rspSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public RspSvcHeaderType getRspSvcHeader() {
+        return rspSvcHeader;
+    }
+
+    /**
+     * 设置rspSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public void setRspSvcHeader(RspSvcHeaderType value) {
+        this.rspSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspEPCSnglTranType.SvcBody }
+     *     
+     */
+    public RspEPCSnglTranType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspEPCSnglTranType.SvcBody }
+     *     
+     */
+    public void setSvcBody(RspEPCSnglTranType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PcsStatus1"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranPcsCd"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PcsInfo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptDate"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptTime"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyAcctNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyeAcctNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchSeqNo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}HndlSeqNo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCcy"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TransAmt4"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChrgAmt2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal4" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal5" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal6" minOccurs="0"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "pcsStatus1",
+        "tranPcsCd",
+        "pcsInfo",
+        "acceptDate",
+        "acceptTime",
+        "pyAcctNo",
+        "pyeAcctNm",
+        "pymtAcctNo",
+        "pymtAcctName",
+        "mrchSeqNo",
+        "hndlSeqNo",
+        "tranCcy",
+        "transAmt4",
+        "chrgAmt2",
+        "rsrvFldVal4",
+        "rsrvFldVal5",
+        "rsrvFldVal6"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "PcsStatus1", required = true)
+        protected String pcsStatus1;
+        @XmlElement(name = "TranPcsCd", required = true)
+        protected String tranPcsCd;
+        @XmlElement(name = "PcsInfo", required = true)
+        protected String pcsInfo;
+        @XmlElement(name = "AcceptDate", required = true)
+        protected String acceptDate;
+        @XmlElement(name = "AcceptTime", required = true)
+        protected String acceptTime;
+        @XmlElement(name = "PyAcctNo")
+        protected String pyAcctNo;
+        @XmlElement(name = "PyeAcctNm")
+        protected String pyeAcctNm;
+        @XmlElement(name = "PymtAcctNo")
+        protected String pymtAcctNo;
+        @XmlElement(name = "PymtAcctName")
+        protected String pymtAcctName;
+        @XmlElement(name = "MrchSeqNo", required = true)
+        protected String mrchSeqNo;
+        @XmlElement(name = "HndlSeqNo", required = true)
+        protected String hndlSeqNo;
+        @XmlElement(name = "TranCcy", required = true)
+        protected String tranCcy;
+        @XmlElement(name = "TransAmt4", required = true)
+        protected String transAmt4;
+        @XmlElement(name = "ChrgAmt2")
+        protected String chrgAmt2;
+        @XmlElement(name = "RsrvFldVal4")
+        protected String rsrvFldVal4;
+        @XmlElement(name = "RsrvFldVal5")
+        protected String rsrvFldVal5;
+        @XmlElement(name = "RsrvFldVal6")
+        protected String rsrvFldVal6;
+
+        /**
+         * 获取pcsStatus1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPcsStatus1() {
+            return pcsStatus1;
+        }
+
+        /**
+         * 设置pcsStatus1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPcsStatus1(String value) {
+            this.pcsStatus1 = value;
+        }
+
+        /**
+         * 获取tranPcsCd属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTranPcsCd() {
+            return tranPcsCd;
+        }
+
+        /**
+         * 设置tranPcsCd属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTranPcsCd(String value) {
+            this.tranPcsCd = value;
+        }
+
+        /**
+         * 获取pcsInfo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPcsInfo() {
+            return pcsInfo;
+        }
+
+        /**
+         * 设置pcsInfo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPcsInfo(String value) {
+            this.pcsInfo = value;
+        }
+
+        /**
+         * 获取acceptDate属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAcceptDate() {
+            return acceptDate;
+        }
+
+        /**
+         * 设置acceptDate属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAcceptDate(String value) {
+            this.acceptDate = value;
+        }
+
+        /**
+         * 获取acceptTime属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAcceptTime() {
+            return acceptTime;
+        }
+
+        /**
+         * 设置acceptTime属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAcceptTime(String value) {
+            this.acceptTime = value;
+        }
+
+        /**
+         * 获取pyAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyAcctNo() {
+            return pyAcctNo;
+        }
+
+        /**
+         * 设置pyAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyAcctNo(String value) {
+            this.pyAcctNo = value;
+        }
+
+        /**
+         * 获取pyeAcctNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyeAcctNm() {
+            return pyeAcctNm;
+        }
+
+        /**
+         * 设置pyeAcctNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyeAcctNm(String value) {
+            this.pyeAcctNm = value;
+        }
+
+        /**
+         * 获取pymtAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPymtAcctNo() {
+            return pymtAcctNo;
+        }
+
+        /**
+         * 设置pymtAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPymtAcctNo(String value) {
+            this.pymtAcctNo = value;
+        }
+
+        /**
+         * 获取pymtAcctName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPymtAcctName() {
+            return pymtAcctName;
+        }
+
+        /**
+         * 设置pymtAcctName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPymtAcctName(String value) {
+            this.pymtAcctName = value;
+        }
+
+        /**
+         * 获取mrchSeqNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMrchSeqNo() {
+            return mrchSeqNo;
+        }
+
+        /**
+         * 设置mrchSeqNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMrchSeqNo(String value) {
+            this.mrchSeqNo = value;
+        }
+
+        /**
+         * 获取hndlSeqNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getHndlSeqNo() {
+            return hndlSeqNo;
+        }
+
+        /**
+         * 设置hndlSeqNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setHndlSeqNo(String value) {
+            this.hndlSeqNo = value;
+        }
+
+        /**
+         * 获取tranCcy属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTranCcy() {
+            return tranCcy;
+        }
+
+        /**
+         * 设置tranCcy属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTranCcy(String value) {
+            this.tranCcy = value;
+        }
+
+        /**
+         * 获取transAmt4属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTransAmt4() {
+            return transAmt4;
+        }
+
+        /**
+         * 设置transAmt4属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTransAmt4(String value) {
+            this.transAmt4 = value;
+        }
+
+        /**
+         * 获取chrgAmt2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getChrgAmt2() {
+            return chrgAmt2;
+        }
+
+        /**
+         * 设置chrgAmt2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setChrgAmt2(String value) {
+            this.chrgAmt2 = value;
+        }
+
+        /**
+         * 获取rsrvFldVal4属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal4() {
+            return rsrvFldVal4;
+        }
+
+        /**
+         * 设置rsrvFldVal4属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal4(String value) {
+            this.rsrvFldVal4 = value;
+        }
+
+        /**
+         * 获取rsrvFldVal5属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal5() {
+            return rsrvFldVal5;
+        }
+
+        /**
+         * 设置rsrvFldVal5属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal5(String value) {
+            this.rsrvFldVal5 = value;
+        }
+
+        /**
+         * 获取rsrvFldVal6属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal6() {
+            return rsrvFldVal6;
+        }
+
+        /**
+         * 设置rsrvFldVal6属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal6(String value) {
+            this.rsrvFldVal6 = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspPymtTrnRsltQryType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspPymtTrnRsltQryType.java
new file mode 100644
index 0000000..bc63be1
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspPymtTrnRsltQryType.java
@@ -0,0 +1,155 @@
+
+package com.jttech.pfcs.vo.resp;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>RspPymtTrnRsltQryType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="RspPymtTrnRsltQryType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="RspSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}RspSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RetMsg"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RspPymtTrnRsltQryType", propOrder = {
+    "rspSvcHeader",
+    "svcBody"
+})
+public class RspPymtTrnRsltQryType {
+
+    @XmlElement(name = "RspSvcHeader", required = true)
+    protected RspSvcHeaderType rspSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected RspPymtTrnRsltQryType.SvcBody svcBody;
+
+    /**
+     * 获取rspSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public RspSvcHeaderType getRspSvcHeader() {
+        return rspSvcHeader;
+    }
+
+    /**
+     * 设置rspSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public void setRspSvcHeader(RspSvcHeaderType value) {
+        this.rspSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public RspPymtTrnRsltQryType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public void setSvcBody(RspPymtTrnRsltQryType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RetMsg"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "retMsg"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "RetMsg", required = true)
+        protected String retMsg;
+
+        /**
+         * 获取retMsg属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRetMsg() {
+            return retMsg;
+        }
+
+        /**
+         * 设置retMsg属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRetMsg(String value) {
+            this.retMsg = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspSvcHeaderType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspSvcHeaderType.java
new file mode 100644
index 0000000..b07bf4b
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspSvcHeaderType.java
@@ -0,0 +1,545 @@
+
+package com.jttech.pfcs.vo.resp;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>RspSvcHeaderType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="RspSvcHeaderType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranDate"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranTime"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BackendSeqNo"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BackendSysId"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ReturnCode"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ReturnMsg"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}GlobalSeqNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}LangCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PIN" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}KeyVersionNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TargetAdr" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SourceAdr" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MsgEndFlag" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MsgSeqNo" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}LinkTranCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranSerialNo" minOccurs="0"/&gt;
+ *         &lt;element name="SubSvcRetInfo" type="{http://esb.spdbbiz.com/services/S080030795}SubSvcRetInfoType" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RspSvcHeaderType", propOrder = {
+    "tranDate",
+    "tranTime",
+    "backendSeqNo",
+    "backendSysId",
+    "returnCode",
+    "returnMsg",
+    "globalSeqNo",
+    "langCode",
+    "tranCode",
+    "pin",
+    "keyVersionNo",
+    "targetAdr",
+    "sourceAdr",
+    "msgEndFlag",
+    "msgSeqNo",
+    "linkTranCode",
+    "tranSerialNo",
+    "subSvcRetInfo"
+})
+public class RspSvcHeaderType {
+
+    @XmlElement(name = "TranDate", required = true)
+    protected String tranDate;
+    @XmlElement(name = "TranTime", required = true)
+    protected String tranTime;
+    @XmlElement(name = "BackendSeqNo", required = true)
+    protected String backendSeqNo;
+    @XmlElement(name = "BackendSysId", required = true)
+    protected String backendSysId;
+    @XmlElement(name = "ReturnCode", required = true)
+    protected String returnCode;
+    @XmlElement(name = "ReturnMsg", required = true)
+    protected String returnMsg;
+    @XmlElement(name = "GlobalSeqNo")
+    protected String globalSeqNo;
+    @XmlElement(name = "LangCode")
+    protected String langCode;
+    @XmlElement(name = "TranCode")
+    protected String tranCode;
+    @XmlElement(name = "PIN")
+    protected String pin;
+    @XmlElement(name = "KeyVersionNo")
+    protected String keyVersionNo;
+    @XmlElement(name = "TargetAdr")
+    protected String targetAdr;
+    @XmlElement(name = "SourceAdr")
+    protected String sourceAdr;
+    @XmlElement(name = "MsgEndFlag")
+    protected String msgEndFlag;
+    @XmlElement(name = "MsgSeqNo")
+    protected String msgSeqNo;
+    @XmlElement(name = "LinkTranCode")
+    protected String linkTranCode;
+    @XmlElement(name = "TranSerialNo")
+    protected String tranSerialNo;
+    @XmlElement(name = "SubSvcRetInfo")
+    protected List<SubSvcRetInfoType> subSvcRetInfo;
+
+    /**
+     * 获取tranDate属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranDate() {
+        return tranDate;
+    }
+
+    /**
+     * 设置tranDate属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranDate(String value) {
+        this.tranDate = value;
+    }
+
+    /**
+     * 获取tranTime属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranTime() {
+        return tranTime;
+    }
+
+    /**
+     * 设置tranTime属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranTime(String value) {
+        this.tranTime = value;
+    }
+
+    /**
+     * 获取backendSeqNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getBackendSeqNo() {
+        return backendSeqNo;
+    }
+
+    /**
+     * 设置backendSeqNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setBackendSeqNo(String value) {
+        this.backendSeqNo = value;
+    }
+
+    /**
+     * 获取backendSysId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getBackendSysId() {
+        return backendSysId;
+    }
+
+    /**
+     * 设置backendSysId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setBackendSysId(String value) {
+        this.backendSysId = value;
+    }
+
+    /**
+     * 获取returnCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getReturnCode() {
+        return returnCode;
+    }
+
+    /**
+     * 设置returnCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setReturnCode(String value) {
+        this.returnCode = value;
+    }
+
+    /**
+     * 获取returnMsg属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getReturnMsg() {
+        return returnMsg;
+    }
+
+    /**
+     * 设置returnMsg属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setReturnMsg(String value) {
+        this.returnMsg = value;
+    }
+
+    /**
+     * 获取globalSeqNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getGlobalSeqNo() {
+        return globalSeqNo;
+    }
+
+    /**
+     * 设置globalSeqNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setGlobalSeqNo(String value) {
+        this.globalSeqNo = value;
+    }
+
+    /**
+     * 获取langCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLangCode() {
+        return langCode;
+    }
+
+    /**
+     * 设置langCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLangCode(String value) {
+        this.langCode = value;
+    }
+
+    /**
+     * 获取tranCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranCode() {
+        return tranCode;
+    }
+
+    /**
+     * 设置tranCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranCode(String value) {
+        this.tranCode = value;
+    }
+
+    /**
+     * 获取pin属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getPIN() {
+        return pin;
+    }
+
+    /**
+     * 设置pin属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setPIN(String value) {
+        this.pin = value;
+    }
+
+    /**
+     * 获取keyVersionNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getKeyVersionNo() {
+        return keyVersionNo;
+    }
+
+    /**
+     * 设置keyVersionNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setKeyVersionNo(String value) {
+        this.keyVersionNo = value;
+    }
+
+    /**
+     * 获取targetAdr属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTargetAdr() {
+        return targetAdr;
+    }
+
+    /**
+     * 设置targetAdr属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTargetAdr(String value) {
+        this.targetAdr = value;
+    }
+
+    /**
+     * 获取sourceAdr属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSourceAdr() {
+        return sourceAdr;
+    }
+
+    /**
+     * 设置sourceAdr属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSourceAdr(String value) {
+        this.sourceAdr = value;
+    }
+
+    /**
+     * 获取msgEndFlag属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMsgEndFlag() {
+        return msgEndFlag;
+    }
+
+    /**
+     * 设置msgEndFlag属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMsgEndFlag(String value) {
+        this.msgEndFlag = value;
+    }
+
+    /**
+     * 获取msgSeqNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMsgSeqNo() {
+        return msgSeqNo;
+    }
+
+    /**
+     * 设置msgSeqNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMsgSeqNo(String value) {
+        this.msgSeqNo = value;
+    }
+
+    /**
+     * 获取linkTranCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getLinkTranCode() {
+        return linkTranCode;
+    }
+
+    /**
+     * 设置linkTranCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setLinkTranCode(String value) {
+        this.linkTranCode = value;
+    }
+
+    /**
+     * 获取tranSerialNo属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getTranSerialNo() {
+        return tranSerialNo;
+    }
+
+    /**
+     * 设置tranSerialNo属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setTranSerialNo(String value) {
+        this.tranSerialNo = value;
+    }
+
+    /**
+     * Gets the value of the subSvcRetInfo property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the subSvcRetInfo property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getSubSvcRetInfo().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link SubSvcRetInfoType }
+     * 
+     * 
+     */
+    public List<SubSvcRetInfoType> getSubSvcRetInfo() {
+        if (subSvcRetInfo == null) {
+            subSvcRetInfo = new ArrayList<SubSvcRetInfoType>();
+        }
+        return this.subSvcRetInfo;
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspTranQryType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspTranQryType.java
new file mode 100644
index 0000000..d1fcad9
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspTranQryType.java
@@ -0,0 +1,1547 @@
+
+package com.jttech.pfcs.vo.resp;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>RspTranQryType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="RspTranQryType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="RspSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}RspSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussRetCd"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussRetInfo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptDate"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptTime"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OrigTranDate"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OrigTranTime" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldTranSeqNo1"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RstChannelType"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SgnAgmNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}Alias" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchId" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ClientNo3" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ClientName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyAcctNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BkAcctType" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyeAcctNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfId1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfTp1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CardCVN2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TokenVldTrm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeMobile" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyOpnBrId1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RepymtOpnBrNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}LoProvNm" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeOpnBrCityId" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctNo" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BscAcctType" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctName" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfID2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfTp" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChkCVN2Flg" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ValidDate1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerOpnBrId1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrNm2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ProvCode" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrCityId" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerMobile" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCcy"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TransAmt4"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChrgAmt2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranPcsCd"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PcsInfo"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OthrDsc" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}Abstract" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal1" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal2" minOccurs="0"/&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TrdStInfo"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RspTranQryType", propOrder = {
+    "rspSvcHeader",
+    "svcBody"
+})
+public class RspTranQryType {
+
+    @XmlElement(name = "RspSvcHeader", required = true)
+    protected RspSvcHeaderType rspSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected RspTranQryType.SvcBody svcBody;
+
+    /**
+     * 获取rspSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public RspSvcHeaderType getRspSvcHeader() {
+        return rspSvcHeader;
+    }
+
+    /**
+     * 设置rspSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public void setRspSvcHeader(RspSvcHeaderType value) {
+        this.rspSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspTranQryType.SvcBody }
+     *     
+     */
+    public RspTranQryType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspTranQryType.SvcBody }
+     *     
+     */
+    public void setSvcBody(RspTranQryType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussRetCd"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BussRetInfo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptDate"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}AcceptTime"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OrigTranDate"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OrigTranTime" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OldTranSeqNo1"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RstChannelType"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SgnAgmNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}Alias" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchId" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ScdMrchNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}MrchName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ClientNo3" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ClientName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyAcctNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BkAcctType" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyeAcctNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfId1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyCtfTp1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}CardCVN2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TokenVldTrm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeMobile" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyOpnBrId1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RepymtOpnBrNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}LoProvNm" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayeeOpnBrCityId" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctNo" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}BscAcctType" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PymtAcctName" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfID2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerCtfTp" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChkCVN2Flg" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ValidDate1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerOpnBrId1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrNm2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ProvCode" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PyrOpnBrCityId" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PayerMobile" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranCcy"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TransAmt4"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}ChrgAmt2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TranPcsCd"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}PcsInfo"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}OthrDsc" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}Abstract" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal1" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvFldVal2" minOccurs="0"/&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}TrdStInfo"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "bussRetCd",
+        "bussRetInfo",
+        "acceptDate",
+        "acceptTime",
+        "origTranDate",
+        "origTranTime",
+        "oldTranSeqNo1",
+        "rstChannelType",
+        "sgnAgmNo",
+        "alias",
+        "scdMrchId",
+        "scdMrchNm",
+        "mrchName",
+        "clientNo3",
+        "clientName",
+        "pyAcctNo",
+        "bkAcctType",
+        "pyeAcctNm",
+        "pyCtfId1",
+        "pyCtfTp1",
+        "cardCVN2",
+        "tokenVldTrm",
+        "payeeMobile",
+        "pyOpnBrId1",
+        "repymtOpnBrNm",
+        "loProvNm",
+        "payeeOpnBrCityId",
+        "pymtAcctNo",
+        "bscAcctType",
+        "pymtAcctName",
+        "payerCtfID2",
+        "payerCtfTp",
+        "chkCVN2Flg",
+        "validDate1",
+        "payerOpnBrId1",
+        "pyrOpnBrNm2",
+        "provCode",
+        "pyrOpnBrCityId",
+        "payerMobile",
+        "tranCcy",
+        "transAmt4",
+        "chrgAmt2",
+        "tranPcsCd",
+        "pcsInfo",
+        "othrDsc",
+        "_abstract",
+        "rsrvFldVal1",
+        "rsrvFldVal2",
+        "trdStInfo"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "BussRetCd", required = true)
+        protected String bussRetCd;
+        @XmlElement(name = "BussRetInfo", required = true)
+        protected String bussRetInfo;
+        @XmlElement(name = "AcceptDate", required = true)
+        protected String acceptDate;
+        @XmlElement(name = "AcceptTime", required = true)
+        protected String acceptTime;
+        @XmlElement(name = "OrigTranDate", required = true)
+        protected String origTranDate;
+        @XmlElement(name = "OrigTranTime")
+        protected String origTranTime;
+        @XmlElement(name = "OldTranSeqNo1", required = true)
+        protected String oldTranSeqNo1;
+        @XmlElement(name = "RstChannelType", required = true)
+        protected String rstChannelType;
+        @XmlElement(name = "SgnAgmNo")
+        protected String sgnAgmNo;
+        @XmlElement(name = "Alias")
+        protected String alias;
+        @XmlElement(name = "ScdMrchId")
+        protected String scdMrchId;
+        @XmlElement(name = "ScdMrchNm")
+        protected String scdMrchNm;
+        @XmlElement(name = "MrchName")
+        protected String mrchName;
+        @XmlElement(name = "ClientNo3")
+        protected String clientNo3;
+        @XmlElement(name = "ClientName")
+        protected String clientName;
+        @XmlElement(name = "PyAcctNo")
+        protected String pyAcctNo;
+        @XmlElement(name = "BkAcctType")
+        protected String bkAcctType;
+        @XmlElement(name = "PyeAcctNm")
+        protected String pyeAcctNm;
+        @XmlElement(name = "PyCtfId1")
+        protected String pyCtfId1;
+        @XmlElement(name = "PyCtfTp1")
+        protected String pyCtfTp1;
+        @XmlElement(name = "CardCVN2")
+        protected String cardCVN2;
+        @XmlElement(name = "TokenVldTrm")
+        protected String tokenVldTrm;
+        @XmlElement(name = "PayeeMobile")
+        protected String payeeMobile;
+        @XmlElement(name = "PyOpnBrId1")
+        protected String pyOpnBrId1;
+        @XmlElement(name = "RepymtOpnBrNm")
+        protected String repymtOpnBrNm;
+        @XmlElement(name = "LoProvNm")
+        protected String loProvNm;
+        @XmlElement(name = "PayeeOpnBrCityId")
+        protected String payeeOpnBrCityId;
+        @XmlElement(name = "PymtAcctNo")
+        protected String pymtAcctNo;
+        @XmlElement(name = "BscAcctType")
+        protected String bscAcctType;
+        @XmlElement(name = "PymtAcctName")
+        protected String pymtAcctName;
+        @XmlElement(name = "PayerCtfID2")
+        protected String payerCtfID2;
+        @XmlElement(name = "PayerCtfTp")
+        protected String payerCtfTp;
+        @XmlElement(name = "ChkCVN2Flg")
+        protected String chkCVN2Flg;
+        @XmlElement(name = "ValidDate1")
+        protected String validDate1;
+        @XmlElement(name = "PayerOpnBrId1")
+        protected String payerOpnBrId1;
+        @XmlElement(name = "PyrOpnBrNm2")
+        protected String pyrOpnBrNm2;
+        @XmlElement(name = "ProvCode")
+        protected String provCode;
+        @XmlElement(name = "PyrOpnBrCityId")
+        protected String pyrOpnBrCityId;
+        @XmlElement(name = "PayerMobile")
+        protected String payerMobile;
+        @XmlElement(name = "TranCcy", required = true)
+        protected String tranCcy;
+        @XmlElement(name = "TransAmt4", required = true)
+        protected String transAmt4;
+        @XmlElement(name = "ChrgAmt2")
+        protected String chrgAmt2;
+        @XmlElement(name = "TranPcsCd", required = true)
+        protected String tranPcsCd;
+        @XmlElement(name = "PcsInfo", required = true)
+        protected String pcsInfo;
+        @XmlElement(name = "OthrDsc")
+        protected String othrDsc;
+        @XmlElement(name = "Abstract")
+        protected String _abstract;
+        @XmlElement(name = "RsrvFldVal1")
+        protected String rsrvFldVal1;
+        @XmlElement(name = "RsrvFldVal2")
+        protected String rsrvFldVal2;
+        @XmlElement(name = "TrdStInfo", required = true)
+        protected String trdStInfo;
+
+        /**
+         * 获取bussRetCd属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBussRetCd() {
+            return bussRetCd;
+        }
+
+        /**
+         * 设置bussRetCd属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBussRetCd(String value) {
+            this.bussRetCd = value;
+        }
+
+        /**
+         * 获取bussRetInfo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBussRetInfo() {
+            return bussRetInfo;
+        }
+
+        /**
+         * 设置bussRetInfo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBussRetInfo(String value) {
+            this.bussRetInfo = value;
+        }
+
+        /**
+         * 获取acceptDate属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAcceptDate() {
+            return acceptDate;
+        }
+
+        /**
+         * 设置acceptDate属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAcceptDate(String value) {
+            this.acceptDate = value;
+        }
+
+        /**
+         * 获取acceptTime属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAcceptTime() {
+            return acceptTime;
+        }
+
+        /**
+         * 设置acceptTime属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAcceptTime(String value) {
+            this.acceptTime = value;
+        }
+
+        /**
+         * 获取origTranDate属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOrigTranDate() {
+            return origTranDate;
+        }
+
+        /**
+         * 设置origTranDate属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOrigTranDate(String value) {
+            this.origTranDate = value;
+        }
+
+        /**
+         * 获取origTranTime属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOrigTranTime() {
+            return origTranTime;
+        }
+
+        /**
+         * 设置origTranTime属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOrigTranTime(String value) {
+            this.origTranTime = value;
+        }
+
+        /**
+         * 获取oldTranSeqNo1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOldTranSeqNo1() {
+            return oldTranSeqNo1;
+        }
+
+        /**
+         * 设置oldTranSeqNo1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOldTranSeqNo1(String value) {
+            this.oldTranSeqNo1 = value;
+        }
+
+        /**
+         * 获取rstChannelType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRstChannelType() {
+            return rstChannelType;
+        }
+
+        /**
+         * 设置rstChannelType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRstChannelType(String value) {
+            this.rstChannelType = value;
+        }
+
+        /**
+         * 获取sgnAgmNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getSgnAgmNo() {
+            return sgnAgmNo;
+        }
+
+        /**
+         * 设置sgnAgmNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setSgnAgmNo(String value) {
+            this.sgnAgmNo = value;
+        }
+
+        /**
+         * 获取alias属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAlias() {
+            return alias;
+        }
+
+        /**
+         * 设置alias属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAlias(String value) {
+            this.alias = value;
+        }
+
+        /**
+         * 获取scdMrchId属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getScdMrchId() {
+            return scdMrchId;
+        }
+
+        /**
+         * 设置scdMrchId属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setScdMrchId(String value) {
+            this.scdMrchId = value;
+        }
+
+        /**
+         * 获取scdMrchNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getScdMrchNm() {
+            return scdMrchNm;
+        }
+
+        /**
+         * 设置scdMrchNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setScdMrchNm(String value) {
+            this.scdMrchNm = value;
+        }
+
+        /**
+         * 获取mrchName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getMrchName() {
+            return mrchName;
+        }
+
+        /**
+         * 设置mrchName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setMrchName(String value) {
+            this.mrchName = value;
+        }
+
+        /**
+         * 获取clientNo3属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getClientNo3() {
+            return clientNo3;
+        }
+
+        /**
+         * 设置clientNo3属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setClientNo3(String value) {
+            this.clientNo3 = value;
+        }
+
+        /**
+         * 获取clientName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getClientName() {
+            return clientName;
+        }
+
+        /**
+         * 设置clientName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setClientName(String value) {
+            this.clientName = value;
+        }
+
+        /**
+         * 获取pyAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyAcctNo() {
+            return pyAcctNo;
+        }
+
+        /**
+         * 设置pyAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyAcctNo(String value) {
+            this.pyAcctNo = value;
+        }
+
+        /**
+         * 获取bkAcctType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBkAcctType() {
+            return bkAcctType;
+        }
+
+        /**
+         * 设置bkAcctType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBkAcctType(String value) {
+            this.bkAcctType = value;
+        }
+
+        /**
+         * 获取pyeAcctNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyeAcctNm() {
+            return pyeAcctNm;
+        }
+
+        /**
+         * 设置pyeAcctNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyeAcctNm(String value) {
+            this.pyeAcctNm = value;
+        }
+
+        /**
+         * 获取pyCtfId1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyCtfId1() {
+            return pyCtfId1;
+        }
+
+        /**
+         * 设置pyCtfId1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyCtfId1(String value) {
+            this.pyCtfId1 = value;
+        }
+
+        /**
+         * 获取pyCtfTp1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyCtfTp1() {
+            return pyCtfTp1;
+        }
+
+        /**
+         * 设置pyCtfTp1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyCtfTp1(String value) {
+            this.pyCtfTp1 = value;
+        }
+
+        /**
+         * 获取cardCVN2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getCardCVN2() {
+            return cardCVN2;
+        }
+
+        /**
+         * 设置cardCVN2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setCardCVN2(String value) {
+            this.cardCVN2 = value;
+        }
+
+        /**
+         * 获取tokenVldTrm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTokenVldTrm() {
+            return tokenVldTrm;
+        }
+
+        /**
+         * 设置tokenVldTrm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTokenVldTrm(String value) {
+            this.tokenVldTrm = value;
+        }
+
+        /**
+         * 获取payeeMobile属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayeeMobile() {
+            return payeeMobile;
+        }
+
+        /**
+         * 设置payeeMobile属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayeeMobile(String value) {
+            this.payeeMobile = value;
+        }
+
+        /**
+         * 获取pyOpnBrId1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyOpnBrId1() {
+            return pyOpnBrId1;
+        }
+
+        /**
+         * 设置pyOpnBrId1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyOpnBrId1(String value) {
+            this.pyOpnBrId1 = value;
+        }
+
+        /**
+         * 获取repymtOpnBrNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRepymtOpnBrNm() {
+            return repymtOpnBrNm;
+        }
+
+        /**
+         * 设置repymtOpnBrNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRepymtOpnBrNm(String value) {
+            this.repymtOpnBrNm = value;
+        }
+
+        /**
+         * 获取loProvNm属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getLoProvNm() {
+            return loProvNm;
+        }
+
+        /**
+         * 设置loProvNm属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setLoProvNm(String value) {
+            this.loProvNm = value;
+        }
+
+        /**
+         * 获取payeeOpnBrCityId属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayeeOpnBrCityId() {
+            return payeeOpnBrCityId;
+        }
+
+        /**
+         * 设置payeeOpnBrCityId属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayeeOpnBrCityId(String value) {
+            this.payeeOpnBrCityId = value;
+        }
+
+        /**
+         * 获取pymtAcctNo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPymtAcctNo() {
+            return pymtAcctNo;
+        }
+
+        /**
+         * 设置pymtAcctNo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPymtAcctNo(String value) {
+            this.pymtAcctNo = value;
+        }
+
+        /**
+         * 获取bscAcctType属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getBscAcctType() {
+            return bscAcctType;
+        }
+
+        /**
+         * 设置bscAcctType属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setBscAcctType(String value) {
+            this.bscAcctType = value;
+        }
+
+        /**
+         * 获取pymtAcctName属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPymtAcctName() {
+            return pymtAcctName;
+        }
+
+        /**
+         * 设置pymtAcctName属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPymtAcctName(String value) {
+            this.pymtAcctName = value;
+        }
+
+        /**
+         * 获取payerCtfID2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerCtfID2() {
+            return payerCtfID2;
+        }
+
+        /**
+         * 设置payerCtfID2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerCtfID2(String value) {
+            this.payerCtfID2 = value;
+        }
+
+        /**
+         * 获取payerCtfTp属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerCtfTp() {
+            return payerCtfTp;
+        }
+
+        /**
+         * 设置payerCtfTp属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerCtfTp(String value) {
+            this.payerCtfTp = value;
+        }
+
+        /**
+         * 获取chkCVN2Flg属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getChkCVN2Flg() {
+            return chkCVN2Flg;
+        }
+
+        /**
+         * 设置chkCVN2Flg属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setChkCVN2Flg(String value) {
+            this.chkCVN2Flg = value;
+        }
+
+        /**
+         * 获取validDate1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getValidDate1() {
+            return validDate1;
+        }
+
+        /**
+         * 设置validDate1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setValidDate1(String value) {
+            this.validDate1 = value;
+        }
+
+        /**
+         * 获取payerOpnBrId1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerOpnBrId1() {
+            return payerOpnBrId1;
+        }
+
+        /**
+         * 设置payerOpnBrId1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerOpnBrId1(String value) {
+            this.payerOpnBrId1 = value;
+        }
+
+        /**
+         * 获取pyrOpnBrNm2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyrOpnBrNm2() {
+            return pyrOpnBrNm2;
+        }
+
+        /**
+         * 设置pyrOpnBrNm2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyrOpnBrNm2(String value) {
+            this.pyrOpnBrNm2 = value;
+        }
+
+        /**
+         * 获取provCode属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getProvCode() {
+            return provCode;
+        }
+
+        /**
+         * 设置provCode属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setProvCode(String value) {
+            this.provCode = value;
+        }
+
+        /**
+         * 获取pyrOpnBrCityId属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPyrOpnBrCityId() {
+            return pyrOpnBrCityId;
+        }
+
+        /**
+         * 设置pyrOpnBrCityId属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPyrOpnBrCityId(String value) {
+            this.pyrOpnBrCityId = value;
+        }
+
+        /**
+         * 获取payerMobile属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPayerMobile() {
+            return payerMobile;
+        }
+
+        /**
+         * 设置payerMobile属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPayerMobile(String value) {
+            this.payerMobile = value;
+        }
+
+        /**
+         * 获取tranCcy属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTranCcy() {
+            return tranCcy;
+        }
+
+        /**
+         * 设置tranCcy属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTranCcy(String value) {
+            this.tranCcy = value;
+        }
+
+        /**
+         * 获取transAmt4属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTransAmt4() {
+            return transAmt4;
+        }
+
+        /**
+         * 设置transAmt4属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTransAmt4(String value) {
+            this.transAmt4 = value;
+        }
+
+        /**
+         * 获取chrgAmt2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getChrgAmt2() {
+            return chrgAmt2;
+        }
+
+        /**
+         * 设置chrgAmt2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setChrgAmt2(String value) {
+            this.chrgAmt2 = value;
+        }
+
+        /**
+         * 获取tranPcsCd属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTranPcsCd() {
+            return tranPcsCd;
+        }
+
+        /**
+         * 设置tranPcsCd属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTranPcsCd(String value) {
+            this.tranPcsCd = value;
+        }
+
+        /**
+         * 获取pcsInfo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getPcsInfo() {
+            return pcsInfo;
+        }
+
+        /**
+         * 设置pcsInfo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setPcsInfo(String value) {
+            this.pcsInfo = value;
+        }
+
+        /**
+         * 获取othrDsc属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getOthrDsc() {
+            return othrDsc;
+        }
+
+        /**
+         * 设置othrDsc属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setOthrDsc(String value) {
+            this.othrDsc = value;
+        }
+
+        /**
+         * 获取abstract属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getAbstract() {
+            return _abstract;
+        }
+
+        /**
+         * 设置abstract属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setAbstract(String value) {
+            this._abstract = value;
+        }
+
+        /**
+         * 获取rsrvFldVal1属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal1() {
+            return rsrvFldVal1;
+        }
+
+        /**
+         * 设置rsrvFldVal1属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal1(String value) {
+            this.rsrvFldVal1 = value;
+        }
+
+        /**
+         * 获取rsrvFldVal2属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRsrvFldVal2() {
+            return rsrvFldVal2;
+        }
+
+        /**
+         * 设置rsrvFldVal2属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRsrvFldVal2(String value) {
+            this.rsrvFldVal2 = value;
+        }
+
+        /**
+         * 获取trdStInfo属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getTrdStInfo() {
+            return trdStInfo;
+        }
+
+        /**
+         * 设置trdStInfo属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setTrdStInfo(String value) {
+            this.trdStInfo = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspWHPymtTrnRsltQryType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspWHPymtTrnRsltQryType.java
new file mode 100644
index 0000000..3d1165f
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/RspWHPymtTrnRsltQryType.java
@@ -0,0 +1,155 @@
+
+package com.jttech.pfcs.vo.resp;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>RspWHPymtTrnRsltQryType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="RspWHPymtTrnRsltQryType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="RspSvcHeader" type="{http://esb.spdbbiz.com/services/S080030795}RspSvcHeaderType"/&gt;
+ *         &lt;element name="SvcBody" minOccurs="0"&gt;
+ *           &lt;complexType&gt;
+ *             &lt;complexContent&gt;
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *                 &lt;sequence&gt;
+ *                   &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RetMsg"/&gt;
+ *                 &lt;/sequence&gt;
+ *               &lt;/restriction&gt;
+ *             &lt;/complexContent&gt;
+ *           &lt;/complexType&gt;
+ *         &lt;/element&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RspWHPymtTrnRsltQryType", propOrder = {
+    "rspSvcHeader",
+    "svcBody"
+})
+public class RspWHPymtTrnRsltQryType {
+
+    @XmlElement(name = "RspSvcHeader", required = true)
+    protected RspSvcHeaderType rspSvcHeader;
+    @XmlElement(name = "SvcBody")
+    protected RspWHPymtTrnRsltQryType.SvcBody svcBody;
+
+    /**
+     * 获取rspSvcHeader属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public RspSvcHeaderType getRspSvcHeader() {
+        return rspSvcHeader;
+    }
+
+    /**
+     * 设置rspSvcHeader属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspSvcHeaderType }
+     *     
+     */
+    public void setRspSvcHeader(RspSvcHeaderType value) {
+        this.rspSvcHeader = value;
+    }
+
+    /**
+     * 获取svcBody属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link RspWHPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public RspWHPymtTrnRsltQryType.SvcBody getSvcBody() {
+        return svcBody;
+    }
+
+    /**
+     * 设置svcBody属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RspWHPymtTrnRsltQryType.SvcBody }
+     *     
+     */
+    public void setSvcBody(RspWHPymtTrnRsltQryType.SvcBody value) {
+        this.svcBody = value;
+    }
+
+
+    /**
+     * <p>anonymous complex type的 Java 类。
+     * 
+     * <p>以下模式片段指定包含在此类中的预期内容。
+     * 
+     * <pre>
+     * &lt;complexType&gt;
+     *   &lt;complexContent&gt;
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+     *       &lt;sequence&gt;
+     *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RetMsg"/&gt;
+     *       &lt;/sequence&gt;
+     *     &lt;/restriction&gt;
+     *   &lt;/complexContent&gt;
+     * &lt;/complexType&gt;
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "retMsg"
+    })
+    public static class SvcBody {
+
+        @XmlElement(name = "RetMsg", required = true)
+        protected String retMsg;
+
+        /**
+         * 获取retMsg属性的值。
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
+         *     
+         */
+        public String getRetMsg() {
+            return retMsg;
+        }
+
+        /**
+         * 设置retMsg属性的值。
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
+         *     
+         */
+        public void setRetMsg(String value) {
+            this.retMsg = value;
+        }
+
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/SubSvcRetInfoType.java b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/SubSvcRetInfoType.java
new file mode 100644
index 0000000..3c192f9
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/java/com/jttech/pfcs/vo/resp/SubSvcRetInfoType.java
@@ -0,0 +1,174 @@
+
+package com.jttech.pfcs.vo.resp;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>SubSvcRetInfoType complex type的 Java 类。
+ * 
+ * <p>以下模式片段指定包含在此类中的预期内容。
+ * 
+ * <pre>
+ * &lt;complexType name="SubSvcRetInfoType"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SubSvcSysId" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SubSvcId" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SubSvcRetCode" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}SubSvcRetMsg" minOccurs="0"/&gt;
+ *         &lt;element ref="{http://esb.spdbbiz.com/services/S080030795}RsrvContent" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubSvcRetInfoType", propOrder = {
+    "subSvcSysId",
+    "subSvcId",
+    "subSvcRetCode",
+    "subSvcRetMsg",
+    "rsrvContent"
+})
+public class SubSvcRetInfoType {
+
+    @XmlElement(name = "SubSvcSysId")
+    protected String subSvcSysId;
+    @XmlElement(name = "SubSvcId")
+    protected String subSvcId;
+    @XmlElement(name = "SubSvcRetCode")
+    protected String subSvcRetCode;
+    @XmlElement(name = "SubSvcRetMsg")
+    protected String subSvcRetMsg;
+    @XmlElement(name = "RsrvContent")
+    protected String rsrvContent;
+
+    /**
+     * 获取subSvcSysId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSubSvcSysId() {
+        return subSvcSysId;
+    }
+
+    /**
+     * 设置subSvcSysId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSubSvcSysId(String value) {
+        this.subSvcSysId = value;
+    }
+
+    /**
+     * 获取subSvcId属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSubSvcId() {
+        return subSvcId;
+    }
+
+    /**
+     * 设置subSvcId属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSubSvcId(String value) {
+        this.subSvcId = value;
+    }
+
+    /**
+     * 获取subSvcRetCode属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSubSvcRetCode() {
+        return subSvcRetCode;
+    }
+
+    /**
+     * 设置subSvcRetCode属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSubSvcRetCode(String value) {
+        this.subSvcRetCode = value;
+    }
+
+    /**
+     * 获取subSvcRetMsg属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getSubSvcRetMsg() {
+        return subSvcRetMsg;
+    }
+
+    /**
+     * 设置subSvcRetMsg属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setSubSvcRetMsg(String value) {
+        this.subSvcRetMsg = value;
+    }
+
+    /**
+     * 获取rsrvContent属性的值。
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getRsrvContent() {
+        return rsrvContent;
+    }
+
+    /**
+     * 设置rsrvContent属性的值。
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setRsrvContent(String value) {
+        this.rsrvContent = value;
+    }
+
+}
diff --git a/cmci-pfcs-gateway/src/main/resources/logback.xml b/cmci-pfcs-gateway/src/main/resources/logback.xml
index c8aa4a7..647d259 100644
--- a/cmci-pfcs-gateway/src/main/resources/logback.xml
+++ b/cmci-pfcs-gateway/src/main/resources/logback.xml
@@ -21,9 +21,9 @@
 		<property name="output_log_level">INFO</property>
 
 		<!-- 日志默认存放路径(所有级别日志) -->
-		<property name="rolling_fileName">${basePath}/log/zxmx-plat-gateway.log</property>
+		<property name="rolling_fileName">${basePath}/log/cmci-pfcs-gateway.log</property>
 		<!-- 日志默认压缩路径,将超过指定文件大小的日志,自动存入按"年月"建立的文件夹下面并进行压缩,作为存档 -->
-		<property name="rolling_filePattern">${basePath}/back/%d{yyyy-MM}/zxmx-plat-gateway-%d{yyyy-MM-dd}-%i.log.gz</property>
+		<property name="rolling_filePattern">${basePath}/back/%d{yyyy-MM}/cmci-pfcs-gateway-%d{yyyy-MM-dd}-%i.log.gz</property>
 		<!-- 日志默认同类型日志,同一文件夹下可以存放的数量,不设置此属性则默认为7个 -->
 		<property name="rolling_max">50</property>
 
diff --git a/cmci-pfcs-gateway/src/main/resources/wsdl/DU90.wsdl b/cmci-pfcs-gateway/src/main/resources/wsdl/DU90.wsdl
new file mode 100644
index 0000000..c3cd52b
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/resources/wsdl/DU90.wsdl
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://esb.spdbbiz.com/services/S080030795/wsdl" xmlns:s="http://esb.spdbbiz.com/services/S080030795" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://esb.spdbbiz.com/services/S080030795/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+  <wsdl:types>
+        <xsd:schema targetNamespace="http://esb.spdbbiz.com/services/S080030795/wsdl" elementFormDefault="qualified" attributeFormDefault="qualified">
+            <xsd:import namespace="http://esb.spdbbiz.com/services/S080030795" schemaLocation="DU90.xsd"/>
+        </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="RspWHPymtTrnRsltQry">
+    <wsdl:part name="RspWHPymtTrnRsltQry" element="s:RspWHPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqWHPymtTrnRsltQry">
+    <wsdl:part name="ReqWHPymtTrnRsltQry" element="s:ReqWHPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqHeader">
+    <wsdl:part name="ReqHeader" element="s:ReqHeader">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqEPCSnglTran">
+    <wsdl:part name="ReqEPCSnglTran" element="s:ReqEPCSnglTran">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqTranQry">
+    <wsdl:part name="ReqTranQry" element="s:ReqTranQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqPymtTrnRsltQry">
+    <wsdl:part name="ReqPymtTrnRsltQry" element="s:ReqPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspTranQry">
+    <wsdl:part name="RspTranQry" element="s:RspTranQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspHeader">
+    <wsdl:part name="RspHeader" element="s:RspHeader">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspPymtTrnRsltQry">
+    <wsdl:part name="RspPymtTrnRsltQry" element="s:RspPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspEPCSnglTran">
+    <wsdl:part name="RspEPCSnglTran" element="s:RspEPCSnglTran">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="ESBServerPortType">
+    <wsdl:operation name="EPCSnglTran">
+      <wsdl:input message="tns:ReqEPCSnglTran">
+    </wsdl:input>
+      <wsdl:output message="tns:RspEPCSnglTran">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="PymtTrnRsltQry">
+      <wsdl:input message="tns:ReqPymtTrnRsltQry">
+    </wsdl:input>
+      <wsdl:output message="tns:RspPymtTrnRsltQry">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="TranQry">
+      <wsdl:input message="tns:ReqTranQry">
+    </wsdl:input>
+      <wsdl:output message="tns:RspTranQry">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WHPymtTrnRsltQry">
+      <wsdl:input message="tns:ReqWHPymtTrnRsltQry">
+    </wsdl:input>
+      <wsdl:output message="tns:RspWHPymtTrnRsltQry">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="ESBServerSoapBinding" type="tns:ESBServerPortType">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="EPCSnglTran">
+      <soap:operation soapAction="urn:/EPCSnglTran"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="PymtTrnRsltQry">
+      <soap:operation soapAction="urn:/PymtTrnRsltQry"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="TranQry">
+      <soap:operation soapAction="urn:/TranQry"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WHPymtTrnRsltQry">
+      <soap:operation soapAction="urn:/WHPymtTrnRsltQry"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="S080030795">
+    <wsdl:port name="ESBServerSoapEndpoint" binding="tns:ESBServerSoapBinding">
+      <soap:address location="http://esb.spdbbiz.com:7701/services/S080030795"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/cmci-pfcs-gateway/src/main/resources/wsdl/DU90.xsd b/cmci-pfcs-gateway/src/main/resources/wsdl/DU90.xsd
new file mode 100644
index 0000000..379dcd1
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/resources/wsdl/DU90.xsd
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<x:schema xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://esb.spdbbiz.com/metadata" xmlns:s="http://esb.spdbbiz.com/services/S080030795" targetNamespace="http://esb.spdbbiz.com/services/S080030795" elementFormDefault="qualified" attributeFormDefault="qualified">
+  <x:import namespace="http://esb.spdbbiz.com/metadata" schemaLocation="SoapHeader.xsd"/>
+  <x:element name="ReqHeader" type="d:ReqHeaderType"/>
+  <x:element name="RspHeader" type="d:RspHeaderType"/>
+  <x:complexType name="ReqSvcHeaderType">
+    <x:sequence>
+      <x:element ref="s:TranDate" minOccurs="1"/>
+      <x:element ref="s:TranTime" minOccurs="1"/>
+      <x:element ref="s:TranTellerNo" minOccurs="1"/>
+      <x:element ref="s:TranSeqNo" minOccurs="1"/>
+      <x:element ref="s:ConsumerId" minOccurs="1"/>
+      <x:element ref="s:GlobalSeqNo" minOccurs="0"/>
+      <x:element ref="s:SourceSysId" minOccurs="0"/>
+      <x:element ref="s:BranchId" minOccurs="0"/>
+      <x:element ref="s:TerminalCode" minOccurs="0"/>
+      <x:element ref="s:CityCode" minOccurs="0"/>
+      <x:element ref="s:AuthrTellerNo" minOccurs="0"/>
+      <x:element ref="s:AuthrPwd" minOccurs="0"/>
+      <x:element ref="s:AuthrCardFlag" minOccurs="0"/>
+      <x:element ref="s:AuthrCardNo" minOccurs="0"/>
+      <x:element ref="s:LangCode" minOccurs="0"/>
+      <x:element ref="s:TranCode" minOccurs="0"/>
+      <x:element ref="s:PIN" minOccurs="0"/>
+      <x:element ref="s:KeyVersionNo" minOccurs="0"/>
+      <x:element ref="s:SysOffset1" minOccurs="0"/>
+      <x:element ref="s:SysOffset2" minOccurs="0"/>
+      <x:element ref="s:TargetAdr" minOccurs="0"/>
+      <x:element ref="s:SourceAdr" minOccurs="0"/>
+      <x:element ref="s:MsgEndFlag" minOccurs="0"/>
+      <x:element ref="s:MsgSeqNo" minOccurs="0"/>
+      <x:element ref="s:SubTranCode" minOccurs="0"/>
+      <x:element ref="s:TranMode" minOccurs="0"/>
+      <x:element ref="s:TranSerialNo" minOccurs="0"/>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="TranDate" type="x:string"/>
+  <x:element name="TranTime" type="x:string"/>
+  <x:element name="TranTellerNo" type="x:string"/>
+  <x:element name="TranSeqNo" type="x:string"/>
+  <x:element name="ConsumerId" type="x:string"/>
+  <x:element name="GlobalSeqNo" type="x:string"/>
+  <x:element name="SourceSysId" type="x:string"/>
+  <x:element name="BranchId" type="x:string"/>
+  <x:element name="TerminalCode" type="x:string"/>
+  <x:element name="CityCode" type="x:string"/>
+  <x:element name="AuthrTellerNo" type="x:string"/>
+  <x:element name="AuthrPwd" type="x:string"/>
+  <x:element name="AuthrCardFlag" type="x:string"/>
+  <x:element name="AuthrCardNo" type="x:string"/>
+  <x:element name="LangCode" type="x:string"/>
+  <x:element name="TranCode" type="x:string"/>
+  <x:element name="PIN" type="x:string"/>
+  <x:element name="KeyVersionNo" type="x:string"/>
+  <x:element name="SysOffset1" type="x:string"/>
+  <x:element name="SysOffset2" type="x:string"/>
+  <x:element name="TargetAdr" type="x:string"/>
+  <x:element name="SourceAdr" type="x:string"/>
+  <x:element name="MsgEndFlag" type="x:string"/>
+  <x:element name="MsgSeqNo" type="x:string"/>
+  <x:element name="SubTranCode" type="x:string"/>
+  <x:element name="TranMode" type="x:string"/>
+  <x:element name="TranSerialNo" type="x:string"/>
+  <x:complexType name="RspSvcHeaderType">
+    <x:sequence>
+      <x:element ref="s:TranDate" minOccurs="1"/>
+      <x:element ref="s:TranTime" minOccurs="1"/>
+      <x:element ref="s:BackendSeqNo" minOccurs="1"/>
+      <x:element ref="s:BackendSysId" minOccurs="1"/>
+      <x:element ref="s:ReturnCode" minOccurs="1"/>
+      <x:element ref="s:ReturnMsg" minOccurs="1"/>
+      <x:element ref="s:GlobalSeqNo" minOccurs="0"/>
+      <x:element ref="s:LangCode" minOccurs="0"/>
+      <x:element ref="s:TranCode" minOccurs="0"/>
+      <x:element ref="s:PIN" minOccurs="0"/>
+      <x:element ref="s:KeyVersionNo" minOccurs="0"/>
+      <x:element ref="s:TargetAdr" minOccurs="0"/>
+      <x:element ref="s:SourceAdr" minOccurs="0"/>
+      <x:element ref="s:MsgEndFlag" minOccurs="0"/>
+      <x:element ref="s:MsgSeqNo" minOccurs="0"/>
+      <x:element ref="s:LinkTranCode" minOccurs="0"/>
+      <x:element ref="s:TranSerialNo" minOccurs="0"/>
+      <x:element name="SubSvcRetInfo" maxOccurs="unbounded" type="s:SubSvcRetInfoType" minOccurs="0"/>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="BackendSeqNo" type="x:string"/>
+  <x:element name="BackendSysId" type="x:string"/>
+  <x:element name="ReturnCode" type="x:string"/>
+  <x:element name="ReturnMsg" type="x:string"/>
+  <x:element name="LinkTranCode" type="x:string"/>
+  <x:complexType name="SubSvcRetInfoType">
+    <x:sequence>
+      <x:element ref="s:SubSvcSysId" minOccurs="0"/>
+      <x:element ref="s:SubSvcId" minOccurs="0"/>
+      <x:element ref="s:SubSvcRetCode" minOccurs="0"/>
+      <x:element ref="s:SubSvcRetMsg" minOccurs="0"/>
+      <x:element ref="s:RsrvContent" minOccurs="0"/>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="SubSvcSysId" type="x:string"/>
+  <x:element name="SubSvcId" type="x:string"/>
+  <x:element name="SubSvcRetCode" type="x:string"/>
+  <x:element name="SubSvcRetMsg" type="x:string"/>
+  <x:element name="RsrvContent" type="x:string"/>
+  <x:element name="ReqEPCSnglTran" type="s:ReqEPCSnglTranType"/>
+  <x:complexType name="ReqEPCSnglTranType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:PdNo" minOccurs="1"/>
+            <x:element ref="s:BussType" minOccurs="0"/>
+            <x:element ref="s:RstChannelType" minOccurs="1"/>
+            <x:element ref="s:MrchAcctNo" minOccurs="1"/>
+            <x:element ref="s:MrchName" minOccurs="0"/>
+            <x:element ref="s:ScdMrchId" minOccurs="1"/>
+            <x:element ref="s:ScdMrchNm" minOccurs="1"/>
+            <x:element ref="s:AfdsSubMercName" minOccurs="0"/>
+            <x:element ref="s:RqsDate" minOccurs="1"/>
+            <x:element ref="s:RqsTime" minOccurs="1"/>
+            <x:element ref="s:ClntSeq" minOccurs="1"/>
+            <x:element ref="s:PyAcctNo" minOccurs="0"/>
+            <x:element ref="s:BkAcctType" minOccurs="0"/>
+            <x:element ref="s:PyeAcctNm" minOccurs="0"/>
+            <x:element ref="s:PyCtfId1" minOccurs="0"/>
+            <x:element ref="s:PyCtfTp1" minOccurs="0"/>
+            <x:element ref="s:CardCVN2" minOccurs="0"/>
+            <x:element ref="s:TokenVldTrm" minOccurs="0"/>
+            <x:element ref="s:PayeeMobile" minOccurs="0"/>
+            <x:element ref="s:PyOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:RepymtOpnBrNm" minOccurs="0"/>
+            <x:element ref="s:LoProvNm" minOccurs="0"/>
+            <x:element ref="s:PayeeOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PymtAcctNo" minOccurs="0"/>
+            <x:element ref="s:BscAcctType" minOccurs="0"/>
+            <x:element ref="s:PymtAcctName" minOccurs="0"/>
+            <x:element ref="s:PayerCtfID2" minOccurs="0"/>
+            <x:element ref="s:PayerCtfTp" minOccurs="0"/>
+            <x:element ref="s:CrCrdTranPstnInfo" minOccurs="0"/>
+            <x:element ref="s:ValidDate1" minOccurs="0"/>
+            <x:element ref="s:PayerOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrNm2" minOccurs="0"/>
+            <x:element ref="s:ProvCode" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PayerMobile" minOccurs="0"/>
+            <x:element ref="s:TranCcy" minOccurs="1"/>
+            <x:element ref="s:TransAmt4" minOccurs="1"/>
+            <x:element ref="s:ChrgAmt2" minOccurs="0"/>
+            <x:element ref="s:CrnPct1" minOccurs="0"/>
+            <x:element ref="s:OthrDsc" minOccurs="1"/>
+            <x:element ref="s:AcceptFlag" minOccurs="0"/>
+            <x:element ref="s:Abstract" minOccurs="0"/>
+            <x:element ref="s:TrdChnl" minOccurs="0"/>
+            <x:element ref="s:PymtAgmNo" minOccurs="0"/>
+            <x:element ref="s:AcctVerifyFlag" minOccurs="0"/>
+            <x:element ref="s:PayPwd" minOccurs="0"/>
+            <x:element ref="s:UnpyRsrvFld" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal4" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal5" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal6" minOccurs="0"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="PdNo" type="x:string"/>
+  <x:element name="BussType" type="x:string"/>
+  <x:element name="RstChannelType" type="x:string"/>
+  <x:element name="MrchAcctNo" type="x:string"/>
+  <x:element name="MrchName" type="x:string"/>
+  <x:element name="ScdMrchId" type="x:string"/>
+  <x:element name="ScdMrchNm" type="x:string"/>
+  <x:element name="AfdsSubMercName" type="x:string"/>
+  <x:element name="RqsDate" type="x:string"/>
+  <x:element name="RqsTime" type="x:string"/>
+  <x:element name="ClntSeq" type="x:string"/>
+  <x:element name="PyAcctNo" type="x:string"/>
+  <x:element name="BkAcctType" type="x:string"/>
+  <x:element name="PyeAcctNm" type="x:string"/>
+  <x:element name="PyCtfId1" type="x:string"/>
+  <x:element name="PyCtfTp1" type="x:string"/>
+  <x:element name="CardCVN2" type="x:string"/>
+  <x:element name="TokenVldTrm" type="x:string"/>
+  <x:element name="PayeeMobile" type="x:string"/>
+  <x:element name="PyOpnBrId1" type="x:string"/>
+  <x:element name="RepymtOpnBrNm" type="x:string"/>
+  <x:element name="LoProvNm" type="x:string"/>
+  <x:element name="PayeeOpnBrCityId" type="x:string"/>
+  <x:element name="PymtAcctNo" type="x:string"/>
+  <x:element name="BscAcctType" type="x:string"/>
+  <x:element name="PymtAcctName" type="x:string"/>
+  <x:element name="PayerCtfID2" type="x:string"/>
+  <x:element name="PayerCtfTp" type="x:string"/>
+  <x:element name="CrCrdTranPstnInfo" type="x:string"/>
+  <x:element name="ValidDate1" type="x:string"/>
+  <x:element name="PayerOpnBrId1" type="x:string"/>
+  <x:element name="PyrOpnBrNm2" type="x:string"/>
+  <x:element name="ProvCode" type="x:string"/>
+  <x:element name="PyrOpnBrCityId" type="x:string"/>
+  <x:element name="PayerMobile" type="x:string"/>
+  <x:element name="TranCcy" type="x:string"/>
+  <x:element name="TransAmt4" type="x:string"/>
+  <x:element name="ChrgAmt2" type="x:string"/>
+  <x:element name="CrnPct1" type="x:string"/>
+  <x:element name="OthrDsc" type="x:string"/>
+  <x:element name="AcceptFlag" type="x:string"/>
+  <x:element name="Abstract" type="x:string"/>
+  <x:element name="TrdChnl" type="x:string"/>
+  <x:element name="PymtAgmNo" type="x:string"/>
+  <x:element name="AcctVerifyFlag" type="x:string"/>
+  <x:element name="PayPwd" type="x:string"/>
+  <x:element name="UnpyRsrvFld" type="x:string"/>
+  <x:element name="RsrvFldVal4" type="x:string"/>
+  <x:element name="RsrvFldVal5" type="x:string"/>
+  <x:element name="RsrvFldVal6" type="x:string"/>
+  <x:element name="RspEPCSnglTran" type="s:RspEPCSnglTranType"/>
+  <x:complexType name="RspEPCSnglTranType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:PcsStatus1" minOccurs="1"/>
+            <x:element ref="s:TranPcsCd" minOccurs="1"/>
+            <x:element ref="s:PcsInfo" minOccurs="1"/>
+            <x:element ref="s:AcceptDate" minOccurs="1"/>
+            <x:element ref="s:AcceptTime" minOccurs="1"/>
+            <x:element ref="s:PyAcctNo" minOccurs="0"/>
+            <x:element ref="s:PyeAcctNm" minOccurs="0"/>
+            <x:element ref="s:PymtAcctNo" minOccurs="0"/>
+            <x:element ref="s:PymtAcctName" minOccurs="0"/>
+            <x:element ref="s:MrchSeqNo" minOccurs="1"/>
+            <x:element ref="s:HndlSeqNo" minOccurs="1"/>
+            <x:element ref="s:TranCcy" minOccurs="1"/>
+            <x:element ref="s:TransAmt4" minOccurs="1"/>
+            <x:element ref="s:ChrgAmt2" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal4" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal5" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal6" minOccurs="0"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="PcsStatus1" type="x:string"/>
+  <x:element name="TranPcsCd" type="x:string"/>
+  <x:element name="PcsInfo" type="x:string"/>
+  <x:element name="AcceptDate" type="x:string"/>
+  <x:element name="AcceptTime" type="x:string"/>
+  <x:element name="MrchSeqNo" type="x:string"/>
+  <x:element name="HndlSeqNo" type="x:string"/>
+  <x:element name="ReqPymtTrnRsltQry" type="s:ReqPymtTrnRsltQryType"/>
+  <x:complexType name="ReqPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:InttrIPAdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgHdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgBdy" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="InttrIPAdr" type="x:string"/>
+  <x:element name="OldMsgHdr" type="x:string"/>
+  <x:element name="OldMsgBdy" type="x:string"/>
+  <x:element name="RspPymtTrnRsltQry" type="s:RspPymtTrnRsltQryType"/>
+  <x:complexType name="RspPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:RetMsg" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="RetMsg" type="x:string"/>
+  <x:element name="ReqTranQry" type="s:ReqTranQryType"/>
+  <x:complexType name="ReqTranQryType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:PdNo" minOccurs="1"/>
+            <x:element ref="s:BussType" minOccurs="0"/>
+            <x:element ref="s:MrchAcctNo" minOccurs="1"/>
+            <x:element ref="s:MrchName" minOccurs="0"/>
+            <x:element ref="s:RstChannelType" minOccurs="1"/>
+            <x:element ref="s:RqsDate" minOccurs="1"/>
+            <x:element ref="s:MrchSeqNo" minOccurs="0"/>
+            <x:element ref="s:HndlSeqNo" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal1" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal2" minOccurs="0"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="RsrvFldVal1" type="x:string"/>
+  <x:element name="RsrvFldVal2" type="x:string"/>
+  <x:element name="RspTranQry" type="s:RspTranQryType"/>
+  <x:complexType name="RspTranQryType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:BussRetCd" minOccurs="1"/>
+            <x:element ref="s:BussRetInfo" minOccurs="1"/>
+            <x:element ref="s:AcceptDate" minOccurs="1"/>
+            <x:element ref="s:AcceptTime" minOccurs="1"/>
+            <x:element ref="s:OrigTranDate" minOccurs="1"/>
+            <x:element ref="s:OrigTranTime" minOccurs="0"/>
+            <x:element ref="s:OldTranSeqNo1" minOccurs="1"/>
+            <x:element ref="s:RstChannelType" minOccurs="1"/>
+            <x:element ref="s:SgnAgmNo" minOccurs="0"/>
+            <x:element ref="s:Alias" minOccurs="0"/>
+            <x:element ref="s:ScdMrchId" minOccurs="0"/>
+            <x:element ref="s:ScdMrchNm" minOccurs="0"/>
+            <x:element ref="s:MrchName" minOccurs="0"/>
+            <x:element ref="s:ClientNo3" minOccurs="0"/>
+            <x:element ref="s:ClientName" minOccurs="0"/>
+            <x:element ref="s:PyAcctNo" minOccurs="0"/>
+            <x:element ref="s:BkAcctType" minOccurs="0"/>
+            <x:element ref="s:PyeAcctNm" minOccurs="0"/>
+            <x:element ref="s:PyCtfId1" minOccurs="0"/>
+            <x:element ref="s:PyCtfTp1" minOccurs="0"/>
+            <x:element ref="s:CardCVN2" minOccurs="0"/>
+            <x:element ref="s:TokenVldTrm" minOccurs="0"/>
+            <x:element ref="s:PayeeMobile" minOccurs="0"/>
+            <x:element ref="s:PyOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:RepymtOpnBrNm" minOccurs="0"/>
+            <x:element ref="s:LoProvNm" minOccurs="0"/>
+            <x:element ref="s:PayeeOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PymtAcctNo" minOccurs="0"/>
+            <x:element ref="s:BscAcctType" minOccurs="0"/>
+            <x:element ref="s:PymtAcctName" minOccurs="0"/>
+            <x:element ref="s:PayerCtfID2" minOccurs="0"/>
+            <x:element ref="s:PayerCtfTp" minOccurs="0"/>
+            <x:element ref="s:ChkCVN2Flg" minOccurs="0"/>
+            <x:element ref="s:ValidDate1" minOccurs="0"/>
+            <x:element ref="s:PayerOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrNm2" minOccurs="0"/>
+            <x:element ref="s:ProvCode" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PayerMobile" minOccurs="0"/>
+            <x:element ref="s:TranCcy" minOccurs="1"/>
+            <x:element ref="s:TransAmt4" minOccurs="1"/>
+            <x:element ref="s:ChrgAmt2" minOccurs="0"/>
+            <x:element ref="s:TranPcsCd" minOccurs="1"/>
+            <x:element ref="s:PcsInfo" minOccurs="1"/>
+            <x:element ref="s:OthrDsc" minOccurs="0"/>
+            <x:element ref="s:Abstract" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal1" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal2" minOccurs="0"/>
+            <x:element ref="s:TrdStInfo" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="BussRetCd" type="x:string"/>
+  <x:element name="BussRetInfo" type="x:string"/>
+  <x:element name="OrigTranDate" type="x:string"/>
+  <x:element name="OrigTranTime" type="x:string"/>
+  <x:element name="OldTranSeqNo1" type="x:string"/>
+  <x:element name="SgnAgmNo" type="x:string"/>
+  <x:element name="Alias" type="x:string"/>
+  <x:element name="ClientNo3" type="x:string"/>
+  <x:element name="ClientName" type="x:string"/>
+  <x:element name="ChkCVN2Flg" type="x:string"/>
+  <x:element name="TrdStInfo" type="x:string"/>
+  <x:element name="ReqWHPymtTrnRsltQry" type="s:ReqWHPymtTrnRsltQryType"/>
+  <x:complexType name="ReqWHPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:InttrIPAdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgHdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgBdy" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="RspWHPymtTrnRsltQry" type="s:RspWHPymtTrnRsltQryType"/>
+  <x:complexType name="RspWHPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:RetMsg" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+</x:schema>
\ No newline at end of file
diff --git a/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.wsdl b/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.wsdl
new file mode 100644
index 0000000..c3cd52b
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.wsdl
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://esb.spdbbiz.com/services/S080030795/wsdl" xmlns:s="http://esb.spdbbiz.com/services/S080030795" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://esb.spdbbiz.com/services/S080030795/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+  <wsdl:types>
+        <xsd:schema targetNamespace="http://esb.spdbbiz.com/services/S080030795/wsdl" elementFormDefault="qualified" attributeFormDefault="qualified">
+            <xsd:import namespace="http://esb.spdbbiz.com/services/S080030795" schemaLocation="DU90.xsd"/>
+        </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="RspWHPymtTrnRsltQry">
+    <wsdl:part name="RspWHPymtTrnRsltQry" element="s:RspWHPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqWHPymtTrnRsltQry">
+    <wsdl:part name="ReqWHPymtTrnRsltQry" element="s:ReqWHPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqHeader">
+    <wsdl:part name="ReqHeader" element="s:ReqHeader">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqEPCSnglTran">
+    <wsdl:part name="ReqEPCSnglTran" element="s:ReqEPCSnglTran">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqTranQry">
+    <wsdl:part name="ReqTranQry" element="s:ReqTranQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="ReqPymtTrnRsltQry">
+    <wsdl:part name="ReqPymtTrnRsltQry" element="s:ReqPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspTranQry">
+    <wsdl:part name="RspTranQry" element="s:RspTranQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspHeader">
+    <wsdl:part name="RspHeader" element="s:RspHeader">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspPymtTrnRsltQry">
+    <wsdl:part name="RspPymtTrnRsltQry" element="s:RspPymtTrnRsltQry">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="RspEPCSnglTran">
+    <wsdl:part name="RspEPCSnglTran" element="s:RspEPCSnglTran">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="ESBServerPortType">
+    <wsdl:operation name="EPCSnglTran">
+      <wsdl:input message="tns:ReqEPCSnglTran">
+    </wsdl:input>
+      <wsdl:output message="tns:RspEPCSnglTran">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="PymtTrnRsltQry">
+      <wsdl:input message="tns:ReqPymtTrnRsltQry">
+    </wsdl:input>
+      <wsdl:output message="tns:RspPymtTrnRsltQry">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="TranQry">
+      <wsdl:input message="tns:ReqTranQry">
+    </wsdl:input>
+      <wsdl:output message="tns:RspTranQry">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WHPymtTrnRsltQry">
+      <wsdl:input message="tns:ReqWHPymtTrnRsltQry">
+    </wsdl:input>
+      <wsdl:output message="tns:RspWHPymtTrnRsltQry">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="ESBServerSoapBinding" type="tns:ESBServerPortType">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="EPCSnglTran">
+      <soap:operation soapAction="urn:/EPCSnglTran"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="PymtTrnRsltQry">
+      <soap:operation soapAction="urn:/PymtTrnRsltQry"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="TranQry">
+      <soap:operation soapAction="urn:/TranQry"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WHPymtTrnRsltQry">
+      <soap:operation soapAction="urn:/WHPymtTrnRsltQry"/>
+      <wsdl:input>
+        <soap:header message="tns:ReqHeader" part="ReqHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:header message="tns:RspHeader" part="RspHeader" use="literal">
+        </soap:header>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="S080030795">
+    <wsdl:port name="ESBServerSoapEndpoint" binding="tns:ESBServerSoapBinding">
+      <soap:address location="http://esb.spdbbiz.com:7701/services/S080030795"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.xsd b/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.xsd
new file mode 100644
index 0000000..379dcd1
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/resources/wsdl/DU93.xsd
@@ -0,0 +1,409 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<x:schema xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://esb.spdbbiz.com/metadata" xmlns:s="http://esb.spdbbiz.com/services/S080030795" targetNamespace="http://esb.spdbbiz.com/services/S080030795" elementFormDefault="qualified" attributeFormDefault="qualified">
+  <x:import namespace="http://esb.spdbbiz.com/metadata" schemaLocation="SoapHeader.xsd"/>
+  <x:element name="ReqHeader" type="d:ReqHeaderType"/>
+  <x:element name="RspHeader" type="d:RspHeaderType"/>
+  <x:complexType name="ReqSvcHeaderType">
+    <x:sequence>
+      <x:element ref="s:TranDate" minOccurs="1"/>
+      <x:element ref="s:TranTime" minOccurs="1"/>
+      <x:element ref="s:TranTellerNo" minOccurs="1"/>
+      <x:element ref="s:TranSeqNo" minOccurs="1"/>
+      <x:element ref="s:ConsumerId" minOccurs="1"/>
+      <x:element ref="s:GlobalSeqNo" minOccurs="0"/>
+      <x:element ref="s:SourceSysId" minOccurs="0"/>
+      <x:element ref="s:BranchId" minOccurs="0"/>
+      <x:element ref="s:TerminalCode" minOccurs="0"/>
+      <x:element ref="s:CityCode" minOccurs="0"/>
+      <x:element ref="s:AuthrTellerNo" minOccurs="0"/>
+      <x:element ref="s:AuthrPwd" minOccurs="0"/>
+      <x:element ref="s:AuthrCardFlag" minOccurs="0"/>
+      <x:element ref="s:AuthrCardNo" minOccurs="0"/>
+      <x:element ref="s:LangCode" minOccurs="0"/>
+      <x:element ref="s:TranCode" minOccurs="0"/>
+      <x:element ref="s:PIN" minOccurs="0"/>
+      <x:element ref="s:KeyVersionNo" minOccurs="0"/>
+      <x:element ref="s:SysOffset1" minOccurs="0"/>
+      <x:element ref="s:SysOffset2" minOccurs="0"/>
+      <x:element ref="s:TargetAdr" minOccurs="0"/>
+      <x:element ref="s:SourceAdr" minOccurs="0"/>
+      <x:element ref="s:MsgEndFlag" minOccurs="0"/>
+      <x:element ref="s:MsgSeqNo" minOccurs="0"/>
+      <x:element ref="s:SubTranCode" minOccurs="0"/>
+      <x:element ref="s:TranMode" minOccurs="0"/>
+      <x:element ref="s:TranSerialNo" minOccurs="0"/>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="TranDate" type="x:string"/>
+  <x:element name="TranTime" type="x:string"/>
+  <x:element name="TranTellerNo" type="x:string"/>
+  <x:element name="TranSeqNo" type="x:string"/>
+  <x:element name="ConsumerId" type="x:string"/>
+  <x:element name="GlobalSeqNo" type="x:string"/>
+  <x:element name="SourceSysId" type="x:string"/>
+  <x:element name="BranchId" type="x:string"/>
+  <x:element name="TerminalCode" type="x:string"/>
+  <x:element name="CityCode" type="x:string"/>
+  <x:element name="AuthrTellerNo" type="x:string"/>
+  <x:element name="AuthrPwd" type="x:string"/>
+  <x:element name="AuthrCardFlag" type="x:string"/>
+  <x:element name="AuthrCardNo" type="x:string"/>
+  <x:element name="LangCode" type="x:string"/>
+  <x:element name="TranCode" type="x:string"/>
+  <x:element name="PIN" type="x:string"/>
+  <x:element name="KeyVersionNo" type="x:string"/>
+  <x:element name="SysOffset1" type="x:string"/>
+  <x:element name="SysOffset2" type="x:string"/>
+  <x:element name="TargetAdr" type="x:string"/>
+  <x:element name="SourceAdr" type="x:string"/>
+  <x:element name="MsgEndFlag" type="x:string"/>
+  <x:element name="MsgSeqNo" type="x:string"/>
+  <x:element name="SubTranCode" type="x:string"/>
+  <x:element name="TranMode" type="x:string"/>
+  <x:element name="TranSerialNo" type="x:string"/>
+  <x:complexType name="RspSvcHeaderType">
+    <x:sequence>
+      <x:element ref="s:TranDate" minOccurs="1"/>
+      <x:element ref="s:TranTime" minOccurs="1"/>
+      <x:element ref="s:BackendSeqNo" minOccurs="1"/>
+      <x:element ref="s:BackendSysId" minOccurs="1"/>
+      <x:element ref="s:ReturnCode" minOccurs="1"/>
+      <x:element ref="s:ReturnMsg" minOccurs="1"/>
+      <x:element ref="s:GlobalSeqNo" minOccurs="0"/>
+      <x:element ref="s:LangCode" minOccurs="0"/>
+      <x:element ref="s:TranCode" minOccurs="0"/>
+      <x:element ref="s:PIN" minOccurs="0"/>
+      <x:element ref="s:KeyVersionNo" minOccurs="0"/>
+      <x:element ref="s:TargetAdr" minOccurs="0"/>
+      <x:element ref="s:SourceAdr" minOccurs="0"/>
+      <x:element ref="s:MsgEndFlag" minOccurs="0"/>
+      <x:element ref="s:MsgSeqNo" minOccurs="0"/>
+      <x:element ref="s:LinkTranCode" minOccurs="0"/>
+      <x:element ref="s:TranSerialNo" minOccurs="0"/>
+      <x:element name="SubSvcRetInfo" maxOccurs="unbounded" type="s:SubSvcRetInfoType" minOccurs="0"/>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="BackendSeqNo" type="x:string"/>
+  <x:element name="BackendSysId" type="x:string"/>
+  <x:element name="ReturnCode" type="x:string"/>
+  <x:element name="ReturnMsg" type="x:string"/>
+  <x:element name="LinkTranCode" type="x:string"/>
+  <x:complexType name="SubSvcRetInfoType">
+    <x:sequence>
+      <x:element ref="s:SubSvcSysId" minOccurs="0"/>
+      <x:element ref="s:SubSvcId" minOccurs="0"/>
+      <x:element ref="s:SubSvcRetCode" minOccurs="0"/>
+      <x:element ref="s:SubSvcRetMsg" minOccurs="0"/>
+      <x:element ref="s:RsrvContent" minOccurs="0"/>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="SubSvcSysId" type="x:string"/>
+  <x:element name="SubSvcId" type="x:string"/>
+  <x:element name="SubSvcRetCode" type="x:string"/>
+  <x:element name="SubSvcRetMsg" type="x:string"/>
+  <x:element name="RsrvContent" type="x:string"/>
+  <x:element name="ReqEPCSnglTran" type="s:ReqEPCSnglTranType"/>
+  <x:complexType name="ReqEPCSnglTranType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:PdNo" minOccurs="1"/>
+            <x:element ref="s:BussType" minOccurs="0"/>
+            <x:element ref="s:RstChannelType" minOccurs="1"/>
+            <x:element ref="s:MrchAcctNo" minOccurs="1"/>
+            <x:element ref="s:MrchName" minOccurs="0"/>
+            <x:element ref="s:ScdMrchId" minOccurs="1"/>
+            <x:element ref="s:ScdMrchNm" minOccurs="1"/>
+            <x:element ref="s:AfdsSubMercName" minOccurs="0"/>
+            <x:element ref="s:RqsDate" minOccurs="1"/>
+            <x:element ref="s:RqsTime" minOccurs="1"/>
+            <x:element ref="s:ClntSeq" minOccurs="1"/>
+            <x:element ref="s:PyAcctNo" minOccurs="0"/>
+            <x:element ref="s:BkAcctType" minOccurs="0"/>
+            <x:element ref="s:PyeAcctNm" minOccurs="0"/>
+            <x:element ref="s:PyCtfId1" minOccurs="0"/>
+            <x:element ref="s:PyCtfTp1" minOccurs="0"/>
+            <x:element ref="s:CardCVN2" minOccurs="0"/>
+            <x:element ref="s:TokenVldTrm" minOccurs="0"/>
+            <x:element ref="s:PayeeMobile" minOccurs="0"/>
+            <x:element ref="s:PyOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:RepymtOpnBrNm" minOccurs="0"/>
+            <x:element ref="s:LoProvNm" minOccurs="0"/>
+            <x:element ref="s:PayeeOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PymtAcctNo" minOccurs="0"/>
+            <x:element ref="s:BscAcctType" minOccurs="0"/>
+            <x:element ref="s:PymtAcctName" minOccurs="0"/>
+            <x:element ref="s:PayerCtfID2" minOccurs="0"/>
+            <x:element ref="s:PayerCtfTp" minOccurs="0"/>
+            <x:element ref="s:CrCrdTranPstnInfo" minOccurs="0"/>
+            <x:element ref="s:ValidDate1" minOccurs="0"/>
+            <x:element ref="s:PayerOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrNm2" minOccurs="0"/>
+            <x:element ref="s:ProvCode" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PayerMobile" minOccurs="0"/>
+            <x:element ref="s:TranCcy" minOccurs="1"/>
+            <x:element ref="s:TransAmt4" minOccurs="1"/>
+            <x:element ref="s:ChrgAmt2" minOccurs="0"/>
+            <x:element ref="s:CrnPct1" minOccurs="0"/>
+            <x:element ref="s:OthrDsc" minOccurs="1"/>
+            <x:element ref="s:AcceptFlag" minOccurs="0"/>
+            <x:element ref="s:Abstract" minOccurs="0"/>
+            <x:element ref="s:TrdChnl" minOccurs="0"/>
+            <x:element ref="s:PymtAgmNo" minOccurs="0"/>
+            <x:element ref="s:AcctVerifyFlag" minOccurs="0"/>
+            <x:element ref="s:PayPwd" minOccurs="0"/>
+            <x:element ref="s:UnpyRsrvFld" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal4" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal5" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal6" minOccurs="0"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="PdNo" type="x:string"/>
+  <x:element name="BussType" type="x:string"/>
+  <x:element name="RstChannelType" type="x:string"/>
+  <x:element name="MrchAcctNo" type="x:string"/>
+  <x:element name="MrchName" type="x:string"/>
+  <x:element name="ScdMrchId" type="x:string"/>
+  <x:element name="ScdMrchNm" type="x:string"/>
+  <x:element name="AfdsSubMercName" type="x:string"/>
+  <x:element name="RqsDate" type="x:string"/>
+  <x:element name="RqsTime" type="x:string"/>
+  <x:element name="ClntSeq" type="x:string"/>
+  <x:element name="PyAcctNo" type="x:string"/>
+  <x:element name="BkAcctType" type="x:string"/>
+  <x:element name="PyeAcctNm" type="x:string"/>
+  <x:element name="PyCtfId1" type="x:string"/>
+  <x:element name="PyCtfTp1" type="x:string"/>
+  <x:element name="CardCVN2" type="x:string"/>
+  <x:element name="TokenVldTrm" type="x:string"/>
+  <x:element name="PayeeMobile" type="x:string"/>
+  <x:element name="PyOpnBrId1" type="x:string"/>
+  <x:element name="RepymtOpnBrNm" type="x:string"/>
+  <x:element name="LoProvNm" type="x:string"/>
+  <x:element name="PayeeOpnBrCityId" type="x:string"/>
+  <x:element name="PymtAcctNo" type="x:string"/>
+  <x:element name="BscAcctType" type="x:string"/>
+  <x:element name="PymtAcctName" type="x:string"/>
+  <x:element name="PayerCtfID2" type="x:string"/>
+  <x:element name="PayerCtfTp" type="x:string"/>
+  <x:element name="CrCrdTranPstnInfo" type="x:string"/>
+  <x:element name="ValidDate1" type="x:string"/>
+  <x:element name="PayerOpnBrId1" type="x:string"/>
+  <x:element name="PyrOpnBrNm2" type="x:string"/>
+  <x:element name="ProvCode" type="x:string"/>
+  <x:element name="PyrOpnBrCityId" type="x:string"/>
+  <x:element name="PayerMobile" type="x:string"/>
+  <x:element name="TranCcy" type="x:string"/>
+  <x:element name="TransAmt4" type="x:string"/>
+  <x:element name="ChrgAmt2" type="x:string"/>
+  <x:element name="CrnPct1" type="x:string"/>
+  <x:element name="OthrDsc" type="x:string"/>
+  <x:element name="AcceptFlag" type="x:string"/>
+  <x:element name="Abstract" type="x:string"/>
+  <x:element name="TrdChnl" type="x:string"/>
+  <x:element name="PymtAgmNo" type="x:string"/>
+  <x:element name="AcctVerifyFlag" type="x:string"/>
+  <x:element name="PayPwd" type="x:string"/>
+  <x:element name="UnpyRsrvFld" type="x:string"/>
+  <x:element name="RsrvFldVal4" type="x:string"/>
+  <x:element name="RsrvFldVal5" type="x:string"/>
+  <x:element name="RsrvFldVal6" type="x:string"/>
+  <x:element name="RspEPCSnglTran" type="s:RspEPCSnglTranType"/>
+  <x:complexType name="RspEPCSnglTranType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:PcsStatus1" minOccurs="1"/>
+            <x:element ref="s:TranPcsCd" minOccurs="1"/>
+            <x:element ref="s:PcsInfo" minOccurs="1"/>
+            <x:element ref="s:AcceptDate" minOccurs="1"/>
+            <x:element ref="s:AcceptTime" minOccurs="1"/>
+            <x:element ref="s:PyAcctNo" minOccurs="0"/>
+            <x:element ref="s:PyeAcctNm" minOccurs="0"/>
+            <x:element ref="s:PymtAcctNo" minOccurs="0"/>
+            <x:element ref="s:PymtAcctName" minOccurs="0"/>
+            <x:element ref="s:MrchSeqNo" minOccurs="1"/>
+            <x:element ref="s:HndlSeqNo" minOccurs="1"/>
+            <x:element ref="s:TranCcy" minOccurs="1"/>
+            <x:element ref="s:TransAmt4" minOccurs="1"/>
+            <x:element ref="s:ChrgAmt2" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal4" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal5" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal6" minOccurs="0"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="PcsStatus1" type="x:string"/>
+  <x:element name="TranPcsCd" type="x:string"/>
+  <x:element name="PcsInfo" type="x:string"/>
+  <x:element name="AcceptDate" type="x:string"/>
+  <x:element name="AcceptTime" type="x:string"/>
+  <x:element name="MrchSeqNo" type="x:string"/>
+  <x:element name="HndlSeqNo" type="x:string"/>
+  <x:element name="ReqPymtTrnRsltQry" type="s:ReqPymtTrnRsltQryType"/>
+  <x:complexType name="ReqPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:InttrIPAdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgHdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgBdy" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="InttrIPAdr" type="x:string"/>
+  <x:element name="OldMsgHdr" type="x:string"/>
+  <x:element name="OldMsgBdy" type="x:string"/>
+  <x:element name="RspPymtTrnRsltQry" type="s:RspPymtTrnRsltQryType"/>
+  <x:complexType name="RspPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:RetMsg" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="RetMsg" type="x:string"/>
+  <x:element name="ReqTranQry" type="s:ReqTranQryType"/>
+  <x:complexType name="ReqTranQryType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:PdNo" minOccurs="1"/>
+            <x:element ref="s:BussType" minOccurs="0"/>
+            <x:element ref="s:MrchAcctNo" minOccurs="1"/>
+            <x:element ref="s:MrchName" minOccurs="0"/>
+            <x:element ref="s:RstChannelType" minOccurs="1"/>
+            <x:element ref="s:RqsDate" minOccurs="1"/>
+            <x:element ref="s:MrchSeqNo" minOccurs="0"/>
+            <x:element ref="s:HndlSeqNo" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal1" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal2" minOccurs="0"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="RsrvFldVal1" type="x:string"/>
+  <x:element name="RsrvFldVal2" type="x:string"/>
+  <x:element name="RspTranQry" type="s:RspTranQryType"/>
+  <x:complexType name="RspTranQryType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:BussRetCd" minOccurs="1"/>
+            <x:element ref="s:BussRetInfo" minOccurs="1"/>
+            <x:element ref="s:AcceptDate" minOccurs="1"/>
+            <x:element ref="s:AcceptTime" minOccurs="1"/>
+            <x:element ref="s:OrigTranDate" minOccurs="1"/>
+            <x:element ref="s:OrigTranTime" minOccurs="0"/>
+            <x:element ref="s:OldTranSeqNo1" minOccurs="1"/>
+            <x:element ref="s:RstChannelType" minOccurs="1"/>
+            <x:element ref="s:SgnAgmNo" minOccurs="0"/>
+            <x:element ref="s:Alias" minOccurs="0"/>
+            <x:element ref="s:ScdMrchId" minOccurs="0"/>
+            <x:element ref="s:ScdMrchNm" minOccurs="0"/>
+            <x:element ref="s:MrchName" minOccurs="0"/>
+            <x:element ref="s:ClientNo3" minOccurs="0"/>
+            <x:element ref="s:ClientName" minOccurs="0"/>
+            <x:element ref="s:PyAcctNo" minOccurs="0"/>
+            <x:element ref="s:BkAcctType" minOccurs="0"/>
+            <x:element ref="s:PyeAcctNm" minOccurs="0"/>
+            <x:element ref="s:PyCtfId1" minOccurs="0"/>
+            <x:element ref="s:PyCtfTp1" minOccurs="0"/>
+            <x:element ref="s:CardCVN2" minOccurs="0"/>
+            <x:element ref="s:TokenVldTrm" minOccurs="0"/>
+            <x:element ref="s:PayeeMobile" minOccurs="0"/>
+            <x:element ref="s:PyOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:RepymtOpnBrNm" minOccurs="0"/>
+            <x:element ref="s:LoProvNm" minOccurs="0"/>
+            <x:element ref="s:PayeeOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PymtAcctNo" minOccurs="0"/>
+            <x:element ref="s:BscAcctType" minOccurs="0"/>
+            <x:element ref="s:PymtAcctName" minOccurs="0"/>
+            <x:element ref="s:PayerCtfID2" minOccurs="0"/>
+            <x:element ref="s:PayerCtfTp" minOccurs="0"/>
+            <x:element ref="s:ChkCVN2Flg" minOccurs="0"/>
+            <x:element ref="s:ValidDate1" minOccurs="0"/>
+            <x:element ref="s:PayerOpnBrId1" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrNm2" minOccurs="0"/>
+            <x:element ref="s:ProvCode" minOccurs="0"/>
+            <x:element ref="s:PyrOpnBrCityId" minOccurs="0"/>
+            <x:element ref="s:PayerMobile" minOccurs="0"/>
+            <x:element ref="s:TranCcy" minOccurs="1"/>
+            <x:element ref="s:TransAmt4" minOccurs="1"/>
+            <x:element ref="s:ChrgAmt2" minOccurs="0"/>
+            <x:element ref="s:TranPcsCd" minOccurs="1"/>
+            <x:element ref="s:PcsInfo" minOccurs="1"/>
+            <x:element ref="s:OthrDsc" minOccurs="0"/>
+            <x:element ref="s:Abstract" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal1" minOccurs="0"/>
+            <x:element ref="s:RsrvFldVal2" minOccurs="0"/>
+            <x:element ref="s:TrdStInfo" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="BussRetCd" type="x:string"/>
+  <x:element name="BussRetInfo" type="x:string"/>
+  <x:element name="OrigTranDate" type="x:string"/>
+  <x:element name="OrigTranTime" type="x:string"/>
+  <x:element name="OldTranSeqNo1" type="x:string"/>
+  <x:element name="SgnAgmNo" type="x:string"/>
+  <x:element name="Alias" type="x:string"/>
+  <x:element name="ClientNo3" type="x:string"/>
+  <x:element name="ClientName" type="x:string"/>
+  <x:element name="ChkCVN2Flg" type="x:string"/>
+  <x:element name="TrdStInfo" type="x:string"/>
+  <x:element name="ReqWHPymtTrnRsltQry" type="s:ReqWHPymtTrnRsltQryType"/>
+  <x:complexType name="ReqWHPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="ReqSvcHeader" type="s:ReqSvcHeaderType"/>
+      <x:element name="SvcBody" minOccurs="0">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:InttrIPAdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgHdr" minOccurs="0"/>
+            <x:element ref="s:OldMsgBdy" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+  <x:element name="RspWHPymtTrnRsltQry" type="s:RspWHPymtTrnRsltQryType"/>
+  <x:complexType name="RspWHPymtTrnRsltQryType">
+    <x:sequence>
+      <x:element name="RspSvcHeader" type="s:RspSvcHeaderType"/>
+      <x:element minOccurs="0" name="SvcBody">
+        <x:complexType>
+          <x:sequence>
+            <x:element ref="s:RetMsg" minOccurs="1"/>
+          </x:sequence>
+        </x:complexType>
+      </x:element>
+    </x:sequence>
+  </x:complexType>
+</x:schema>
\ No newline at end of file
diff --git a/cmci-pfcs-gateway/src/main/resources/wsdl/SoapHeader.xsd b/cmci-pfcs-gateway/src/main/resources/wsdl/SoapHeader.xsd
new file mode 100644
index 0000000..bb24fb3
--- /dev/null
+++ b/cmci-pfcs-gateway/src/main/resources/wsdl/SoapHeader.xsd
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<x:schema xmlns:d="http://esb.spdbbiz.com/metadata" xmlns:tns="http://esb.spdbbiz.com/metadata" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://esb.spdbbiz.com/metadata" xmlns:x="http://www.w3.org/2001/XMLSchema">
+  <x:complexType name="ReqHeaderType">
+    <x:sequence>
+      <x:element name="Mac" type="x:string" />
+      <x:element name="MacOrgId" type="x:string" />
+      <x:element name="MsgId" type="x:string" />
+      <x:element name="SourceSysId" type="x:string" />
+      <x:element name="ConsumerId" type="x:string" />
+      <x:element name="ServiceAdr" type="x:string" />
+      <x:element name="ServiceAction" type="x:string" />
+      <x:element minOccurs="0" name="ReplyAdr" type="x:string" />
+      <x:element minOccurs="0" name="ExtendContent" type="x:string" />
+    </x:sequence>
+  </x:complexType>
+  <x:complexType name="RspHeaderType">
+    <x:sequence>
+      <x:element name="Mac" type="x:string" />
+      <x:element name="MacOrgId" type="x:string" />
+      <x:element name="MsgId" type="x:string" />
+      <x:element name="TargetSysId" type="x:string" />
+      <x:element minOccurs="0" name="RelatedMsgId" type="x:string" />
+      <x:element minOccurs="0" name="ServiceAdr" type="x:string" />
+      <x:element minOccurs="0" name="ServiceAction" type="x:string" />
+      <x:element minOccurs="0" name="ExtendContent" type="x:string" />
+    </x:sequence>
+  </x:complexType>
+</x:schema>
\ No newline at end of file
diff --git a/cmci-pfcs-gateway/src/test/java/com/jttech/pfcs/services/WsdlTest.java b/cmci-pfcs-gateway/src/test/java/com/jttech/pfcs/services/WsdlTest.java
new file mode 100644
index 0000000..7df4769
--- /dev/null
+++ b/cmci-pfcs-gateway/src/test/java/com/jttech/pfcs/services/WsdlTest.java
@@ -0,0 +1,84 @@
+package com.jttech.pfcs.services;
+
+import com.jttech.pfcs.services.wsdl.ESBServerPortType;
+import com.jttech.pfcs.services.wsdl.S080030795;
+import com.jttech.pfcs.vo.req.ReqEPCSnglTranType;
+import com.jttech.pfcs.vo.req.ReqSvcHeaderType;
+import com.jttech.pfcs.vo.req.ReqTranQryType;
+import com.jttech.pfcs.vo.resp.RspEPCSnglTranType;
+import com.jttech.pfcs.vo.resp.RspTranQryType;
+
+/**
+ * @author wanghc
+ * @version 1.0.0
+ * @date 2023-03-06
+ */
+public class WsdlTest {
+
+    public static void main(String[] args) {
+
+        RspEPCSnglTranType tranRsp = epcSnglTranTest();
+        System.out.println(tranRsp);
+        RspTranQryType tranQry = tranQryTest();
+        System.out.println(tranQry);
+    }
+
+
+    public static RspEPCSnglTranType epcSnglTranTest() {
+        ESBServerPortType soapEndpoint = new S080030795().getESBServerSoapEndpoint();
+        ReqEPCSnglTranType req = new ReqEPCSnglTranType();
+
+        ReqEPCSnglTranType.SvcBody svcBody = new ReqEPCSnglTranType.SvcBody();
+        svcBody.setPdNo("1");
+        svcBody.setBussType("1");
+        svcBody.setRstChannelType("1");
+        svcBody.setMrchAcctNo("1");
+        svcBody.setMrchName("1");
+        svcBody.setScdMrchId("1");
+        svcBody.setScdMrchNm("12");
+        svcBody.setAfdsSubMercName("1");
+        svcBody.setRqsDate("20230306");
+        svcBody.setRqsTime("151823");
+        svcBody.setClntSeq("12312");
+        svcBody.setPyAcctNo("123");
+        svcBody.setBkAcctType("1");
+        svcBody.setPyeAcctNm("123");
+        svcBody.setPyCtfId1("123");
+        svcBody.setPyCtfTp1("123123");
+        svcBody.setPayeeMobile("18180467513");
+
+        req.setSvcBody(svcBody);
+
+        RspEPCSnglTranType rsp = soapEndpoint.epcSnglTran(req);
+        System.out.println(rsp);
+        return rsp;
+    }
+
+    /**
+     * 代收代付交易查询(S080030795)
+     * TranQry(交易查询)
+     * @return
+     */
+    public static RspTranQryType tranQryTest() {
+        ESBServerPortType soapEndpoint = new S080030795().getESBServerSoapEndpoint();
+        ReqTranQryType req = new ReqTranQryType();
+        ReqTranQryType.SvcBody svcBody = new ReqTranQryType.SvcBody();
+        svcBody.setBussType("1");
+        svcBody.setHndlSeqNo("1");
+        svcBody.setMrchAcctNo("1");
+        svcBody.setMrchName("1");
+        svcBody.setMrchSeqNo("1");
+        svcBody.setPdNo("1");
+        svcBody.setRqsDate("20230306");
+        svcBody.setRstChannelType("SHQD");
+
+        req.setSvcBody(svcBody);
+
+        ReqSvcHeaderType svcHeader = new ReqSvcHeaderType();
+        svcHeader.setTranTime("20230306121501");
+        req.setReqSvcHeader(svcHeader);
+        RspTranQryType rsp = soapEndpoint.tranQry(req);
+        System.out.println(rsp);
+        return rsp;
+    }
+}

--
Gitblit v1.8.0