银企直联与前置机socket通信-Java代码通过Socket

该代码示例展示了如何使用Java通过Socket连接与银行服务器进行通信,执行不同类型的银行操作,如查询余额、转账等。它构建XML数据包,发送请求,并解析银行返回的XML响应数据。
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.*;
import java.net.Socket;
import java.text.ParseException;
import java.util.Date;

public class BankTest {
    private static String bank_address_ip = "中转服务器IP地址";
    private static int bank_address_ip_port = 15999;
    private static String date = "20230601";       //yyyyMMdd
    private static String time = "162216";         //HHmmss
    private static String reqNo = ""+ new Date().getTime();
    private static String corp_no = "客户号";      //16位客户号
    private static String op_no = "0001";             //操作员
    private static String db_acc_no = ""; // 15位 借贷方、付款账户
    private static String db_acc_name = ""; // 付款方户名
    private static String cr_acc_no = ""; // 15位 贷方 收款方账号
    private static String cr_acc_name = ""; // 收款方户名

    public static void main(String[] args) throws ParseException {
        getBankBalance();
    //    getTransferCallback("20230601133647392");
    }
    private static String getXmlData(int type,String code) {
        String xmlData = "";
        String publicData =
            "        <CCTransCode>"+code+"</CCTransCode>\n" +
            "        <ProductID>ICC</ProductID>\n" +
            "        <CorpNo>"+corp_no+"</CorpNo>\n" +
            "        <OpNo>"+op_no+"</OpNo>\n" +
            "        <AuthNo></AuthNo>\n" +
            "        <ReqSeqNo>"+reqNo+"</ReqSeqNo>\n" +
            "        <ReqDate>"+date+"</ReqDate>\n" +
            "        <ReqTime>"+time+"</ReqTime>\n" +
            "        <Sign></Sign>\n" +
            "        <ChannelType>ERP</ChannelType>\n";
        switch (type){
            case 1:
                xmlData = "<ap>\n" +
                        publicData +
                        "    <Cmp>\n" +
                        "        <DbAccNo>"+db_acc_no+"</DbAc
接口说明 ............................................................................................................................. 17 5.1. 例一:对外付款请求报文 ........................................................................................ 17 5.2. 例二:账户信息查询返回报文 ................................................................................. 18 5.3. 例三:签名类/查询类直联交易(ZL0001/ZL0002) ............................................... 20 5.4. 公共报文头定义 ....................................................................................................... 20 1.1.1 请求报文头 .................................................................................................... 20 1.1.2 应答报文头 .................................................................................................... 21 5.5. 交易报文体定义 ....................................................................................................... 23 支付结算 ..................................................................................................................... 23 1.1..1 对外转账交易(210201)(目前仅支持人民币) ............................................. 23 1.1..2 转账交易结果查询(310204) ..................................................................... 25 1.1..3 对外转账录入、网银授权交易(210205)(目前仅支持人民币) .................... 27 1.1..4 代理付款转账交易(210206)(目前仅支持人民币) ...................................... 28 1.1..5 境内外币对外转账交易(210207) .............................................................. 31 1.1..6 国际业务汇出汇款交易(210208) .............................................................. 35 1.1..7 跨行支付交易(超级网银) (210224)(仅支持人民币) ................................ 39 1.1..8 集团录入网银授权交易(210227)(目前仅支持人民币) ............................... 41 1.1..9 交付保付款提交(210601)(目前仅支持人民币) ......................................... 42 1.1..10 交付保付款确认/冻结/解冻/退款(210602)(目前仅支持人民币) ............... 44 账户信息查询 .............................................................................................................. 45 1.1..11 账户信息查询(310101) ........................................................................... 45 1.1..12 当日交易明细查询(310201) .................................................................... 47
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值