HttpClientTest.java 8.42 KB
package com.erry.iclear.dateInterface;

import com.arronlong.httpclientutil.HttpClientUtil;
import com.arronlong.httpclientutil.builder.HCB;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpHeader;
import com.arronlong.httpclientutil.common.HttpResult;
import com.arronlong.httpclientutil.common.SSLs;
import com.arronlong.httpclientutil.exception.HttpProcessException;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.api.request.MawbDetail;
import com.erry.iclear.dateInterface.util.SHA256Util;
import com.google.gson.Gson;
import org.apache.http.client.HttpClient;
import org.apache.http.Header;

import java.io.FileNotFoundException;
import java.math.BigDecimal;
import java.util.*;

public class HttpClientTest {
    public static void main(String[] args) throws HttpProcessException, FileNotFoundException {
//        System.out.println(HttpClientUtil.get(HttpConfig.custom().url("https://40.73.78.157:8780/system/healthCheck")));
//        System.out.println(HttpClientUtil.post(HttpConfig.custom().url("https://40.73.78.157:8780/customs/sendMawb")));



        String masbJson ="{\"ieFlag\":\"I\",\"type\":\"  0\",\"agentCode\":\"1111980005\",\"agentName\":\"联邦快递\",\"billNo\":\"774597567332\",\"contrNo\":\"3006635555/3006636664\",\"customMaster\":\"0207\",\"cutMode\":\"1\",\"declTrnRel\":\"0\",\"distinatePort\":\"DEU000\",\"ediId\":\"1\",\"feeCurr\":\"EUR\",\"feeMark\":\"3\",\"feeRate\":110.9,\"grossWet\":4.6,\"iePort\":\"0207\",\"insurCurr\":\"EUR\",\"insurMark\":\"\",\"insurRate\":0.74,\"netWt\":32,\"ownerCode\":\"9112011660\",\"ownerName\":\"西门子电气传动有限公司\",\"packNo\":1,\"tradeCountry\":\"USA\",\"tradeMode\":\"0110\",\"tradeCode\":\"9112011660\",\"trafMode\":\"5\",\"tradeName\":\"西门子电气传动有限公司\",\"transMode\":\"1\",\"wrapType\":\"23\",\"tradeCodeScc\":\"91120116600587482L\",\"ownerCodeScc\":\"91120116600587482L\",\"tradeAreaCode\":\"DEU\",\"entyPortCode\":\"110101\",\"goodsPlace\":\"\",\"declareName\":\"Jimmy shen\",\"overseasConsigneeEname\":\"PRYSMIAN KABEL UND SYSTEME GMBH\",\"mawbDetailList\":[{\"detailId\":\"495\",\"classMark\":\"\",\"codeTS\":\"8504409999\",\"declPrice\":3365,\"declTotal\":3365,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"007\",\"firstQty\":1,\"originCountry\":\"CHN\",\"secondUnit\":\"035\",\"secondQty\":1,\"tradeCurr\":\"EUR\",\"useTo\":\"03\",\"destinationCountry\":\"DEU\",\"ciqCode\":\"\",\"destCode\":\"110102\",\"districtCode\":\"11010\",\"gno\":1,\"gname\":\"其他未列名静止式变流器\",\"gmodel\":\"4|0|控制电机用|240KW|西门子/SIEMENS|6RA8081-6GV62-0AA0|||\",\"gqty\":1,\"gunit\":\"007\"},{\"detailId\":\"496\",\"classMark\":\"\",\"codeTS\":\"8504409999\",\"declPrice\":9369,\"declTotal\":9369,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"007\",\"firstQty\":3,\"originCountry\":\"CHN\",\"secondUnit\":\"035\",\"secondQty\":1,\"tradeCurr\":\"EUR\",\"useTo\":\"03\",\"destinationCountry\":\"DEU\",\"ciqCode\":\"\",\"destCode\":\"110102\",\"districtCode\":\"11010\",\"gno\":2,\"gname\":\"其他未列名静止式变流器\",\"gmodel\":\"4|0|控制电机用|36KW|西门子/SIEMENS|6RA8081-6GV62-0BB0|||\",\"gqty\":3,\"gunit\":\"007\"}]}";




        String timeStamp = "1623971478192";
        //String timeStamp = "1624263798669";
        System.out.println(new Date(Long.valueOf(timeStamp)));
        String token = SHA256Util.getSHA256String("IDE" + "iClearExport" + "b92131f03f19a348" + timeStamp);
        System.out.println(token);


        Header[] headers = HttpHeader.custom()
                .other("Content-Type", "application/json")
                .other("Appid", "IDE")
                .other("appKey", "iClearExport")
                .other("TimeStamp", timeStamp)
                .other("token", token)
                .build();

        HCB hcb = HCB.custom()
                .timeout(20000)
                .pool(100, 10)
                .sslpv(SSLs.SSLProtocolVersion.TLSv1_2)
                .ssl()
                .retry(3);

        //String url = "https://40.73.78.157:8780/customs/sendMawb";
        String url = "https://127.0.0.1:8780/customs/sendMawb";
        HttpConfig config = HttpConfig.custom()
                .headers(headers)
                .url(url)
                .encoding("utf-8")
                .client(hcb.build())
//                .json(new Gson().toJson(createMawb()));
                .json(masbJson);
        System.out.println(HttpClientUtil.post(config));
    }


    public static Mawb createMawb() {
        MawbDetail d1 = new MawbDetail();
        d1.setDetailId("202105210784-1");
        d1.setClassMark("");
        d1.setCodeTS("69125472");
        d1.setDeclPrice(BigDecimal.valueOf(111.123));
        d1.setDeclTotal(BigDecimal.valueOf(788));
        d1.setDutyMode("1");
        d1.setExgNo("");
        d1.setExgVersion("");
        d1.setFirstUnit("035");
        d1.setFirstQty(11);
        d1.setGunit("007");
        d1.setGmodel("商品规格、型号");
        d1.setGname("餐桌");
        d1.setGno("1");
        d1.setGqty(BigDecimal.valueOf(1.88));
        d1.setOriginCountry("US");
        d1.setSecondUnit("007");
        d1.setSecondQty(2);
        d1.setTradeCurr("USD");
        d1.setUseTo("");
        d1.setWorkUsd(null);
        d1.setDestinationCountry("CN");
        d1.setCiqCode("");
        d1.setDeclGoodsEname("");
        d1.setDestCode("");
        d1.setDistrictCode("4408W");


        MawbDetail d2 = new MawbDetail();
        d2.setDetailId("202105210784-2");
        d2.setClassMark("");
        d2.setCodeTS("69125472");
        d2.setDeclPrice(BigDecimal.valueOf(45.72));
        d2.setDeclTotal(BigDecimal.valueOf(33));
        d2.setDutyMode("1");
        d2.setExgNo("");
        d2.setExgVersion("");
        d2.setFirstUnit("035");
        d2.setFirstQty(11);
        d2.setGunit("007");
        d2.setGmodel("商品规格、型号");
        d2.setGname("餐桌");
        d2.setGno("2");
        d2.setGqty(BigDecimal.valueOf(22.88));
        d2.setOriginCountry("US");
        d2.setSecondUnit("007");
        d2.setSecondQty(3);
        d2.setTradeCurr("USD");
        d2.setUseTo("");
        d2.setWorkUsd(null);
        d2.setDestinationCountry("CN");
        d2.setCiqCode("");
        d2.setDeclGoodsEname("");
        d2.setDestCode("");
        d2.setDistrictCode("4408W");



        List<MawbDetail> mawbDetailList = new ArrayList<MawbDetail>();
        mawbDetailList.add(d1);
        mawbDetailList.add(d2);




        Mawb mawb = new Mawb();
        mawb.setIeFlag("E");
        mawb.setType("EX");
        mawb.setAgentCode("1111980005");
        mawb.setAgentName("联邦快递(中国)有限公司");
        mawb.setBillNo("202105210784");
        mawb.setContrNo("NO.565733");
        mawb.setCustomMaster("0101");
        mawb.setCutMode("101");
        mawb.setDeclTrnRel("0");
        mawb.setDistinatePort("ASM000");
        mawb.setEdiId("001");
        mawb.setEntryId("25512456");
        mawb.setFeeCurr("USD");
        mawb.setFeeMark("3");
        mawb.setFeeRate(BigDecimal.valueOf(100.58));
        mawb.setGrossWet(BigDecimal.valueOf(500));
        mawb.setIePort("0101");
        mawb.setInputerName("");
        mawb.setInsurCurr("MOP");
        mawb.setInsurMark("3");
        mawb.setInsurRate(BigDecimal.valueOf(23.44));
        mawb.setManualNo("备案号");
        mawb.setNetWt(BigDecimal.valueOf(80));
        mawb.setOtherCurr("USD");
        mawb.setOtherRate(BigDecimal.valueOf(10));
        mawb.setOtherMark("");
        mawb.setOwnerCode("Z321654987");
        mawb.setOwnerName("上海保险");
        mawb.setPackNo(1);
        mawb.setPreEntryId("");
        mawb.setTradeCountry("US");
        mawb.setTradeMode("110");
        mawb.setTradeCode("Z321654987");
        mawb.setTrafMode("1");
        mawb.setTradeName("上海铢怡国际货物运输代理有限公司");
        mawb.setTransMode("3");
        mawb.setWrapType("22");
        mawb.setTradeCodeScc("A74125896321456987");
        mawb.setOwnerCodeScc("A74125896321456987");
        mawb.setTradeAreaCode("US");
        mawb.setMarkNo("N/M");
        mawb.setEntyPortCode("310302");
        mawb.setGoodsPlace("");
        mawb.setDeclareName("张安");
        mawb.setOverseasConsignorCode("Z785421");
        mawb.setOverseasConsigneeCode("Z785421");
        mawb.setOverseasConsigneeEname("出口时必填收件人公司名(原)");
        mawb.setMawbDetailList(mawbDetailList);

        return mawb;
    }


}