JAVA 海关179公告对接完整版本!!!

先吐槽一波海关179公告对接,偌大一个海关,但是没有完成的流程进行179海关对接,文件7788的,前后对接不上,没有完整的技术文档,不少人碰壁,感觉很无语。

接下来还是进入正题。

首先,我们会进入到一个海关的官方对接群

 但是他们只处理我们提交的审核,基本不会有问题回答,群里面有大佬可以多问问。

直接进入正题:

1,导出证书编号及文件(链接:报关工具大全

 2,去海关官网进行信息注册

 。。。图片违规了,只能放一个菜单栏

 注:(服务地址是需要填写自己的一个可供外网访问的地址,是海关需要对我们进行检测的接口,如果没有服务器可以将本地进行代理出去,后面审核的时候海关需要使用这个接口看是否能调通)

 将地址添加好之后,在群里面让官方的人进行审核,审核通过就是这个样子的一个地址,审核通过之前这个接口一定要随时能访问,不知道什么时候会对你进行审核,如果失败,就删除掉地址重新进行申请就好;

3,海关调用我们之后,会给我们发送一个消息体,这个消息体我们接收之后,将一些数据进行存储,然后对海关进行一个接收成功的响应


// 这里的地址就是刚刚配置的服务地址的路径了,一定要对
@RequestMapping(value = "/realTimeDataUpload")
    @ResponseBody
    @Transactional(rollbackFor = Exception.class)
    public Object realTimeDataUpload(HttpServletRequest request, HttpServletResponse response) {
        String openReq = request.getParameter("openReq");
        JSONObject openObj = JSONObject.parseObject(openReq);
        String orderNo = openObj.getString("orderNo");
        String sessionID = openObj.getString("sessionID");
        String serviceTime = openObj.getString("serviceTime");
        Map<String,Object> map = new HashMap<>();
        try {
            AppRealTimeDataUpload appRealTimeDataUpload = new AppRealTimeDataUpload();
            appRealTimeDataUpload.setOrderNo(orderNo);
            appRealTimeDataUpload.setSessionID(sessionID);
            appRealTimeDataUpload.setServiceTime(serviceTime);
            appRealTimeDataUploadService.insert(appRealTimeDataUpload);
            map.put("code","10000");
            map.put("message","SUCCESS");
            map.put("serviceTime",Double.parseDouble(String.valueOf(System.currentTimeMillis())));
            return JSONObject.toJSON(map);
        }catch (Exception e){
            map.put("code","20000");
            map.put("message","FAIL");
            map.put("serviceTime",Double.parseDouble(String.valueOf(System.currentTimeMillis())));
            return JSONObject.toJSON(map);
        }
    }

响应之后表示我们接收消息成功,接下来就要将海关需要检验的订单返回给海关,进行socket链接,这时候就要用到前面海关请求我们时的参数,之前存起来的,对订单数据进行加密之后,结合sessionId进行返回数据;

具体可以看一个demo,地址链接:(https://gitee.com/xiaochen991015/customs.git

里面是之前找到的一个开源项目有关179公告对接的socket代码,需要进行业务修改,亲测成功的,希望大家可以多多指教,多多交流,互相进步,感谢

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/api/USB 接口地址 常见错误结果和解决方法: 下面凑字数 {“code”:“20004”,“message”:“企业实时数据获取验签证书未在服务系统注册”,“total”:0,“serviceTime”:1500000000000} 得到这个结果,说明证书没有注册,测试环境联系管理员,生产环境需要到单一窗口去注册上传。如果已经上传了的,去看看你填的ebpCode是否是你自己的。 {“code”:“20000”,“message”:“上传失败 java.lang.IllegalStateException: xxxx这里是错误信息内容”,“total”:0,“serviceTime”:1500000000000} 这个错误说明上传的数据格式不对,海关系统无法解析,注意看看是否有字段类型或者格式错误,也注意看具体看错误内容,一般都有提示。 {“code”:“20005”,“message”:“验签失败”,“total”:0,“serviceTime”:1500000000000} 得到这个信息,说明上传的内容格式没问题了,验签失败,可能加签过程不对,一般都是字符串或者加签格式不对导致的,相见加签部分的细节,注意比对加签内容的格式和样例是否一致。另外也要看看用得证书什么的有没有问题。 {“code”:“20006”,“message”:“上传失败,入库失败 java.sql.SQLException: ORA-00001: 违反唯一约束条件 (sessionID重复)”,“total”:0,“serviceTime”:1500000000000} 得到这个消息,恭喜你,测试基本成功了:加签成功、数据格式没有问题了,接下来就可以自己生成模拟数据去测试了。 {“code”:“10000”,“message”:“上传成功”,“total”:0,“serviceTime”:1500000000000} 恭喜,测试成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值