ITPub博客

首页 > 应用开发 > Java > 工行银企直连签名报文乱码

工行银企直连签名报文乱码

原创 Java 作者:zhaoshuhong 时间:2022-05-27 18:21:20 0 删除 编辑

工行银企直连结算类签名没有提示问题,但支付时却报错,经查签名日志,发现NC Client接收的报文中文为乱码,如下:

<RecAccNameCN>閲忕讲榄?</RecAccNameCN>

<PostScript>鏈爮涓洪檮瑷?</PostScript>

<Summary>鏈爮涓烘憳瑕?</Summary>


原理由高人去讲解,我直接上解决方案,使用可转码的OutputStreamWriter,不使用PrintWriter。

代码:

           URL realUrl = new URL(url);

            URLConnection connect= realUrl.openConnection();

            connect.setRequestProperty("connection", "Keep-Alive");

            connect.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

            connect.setRequestProperty("Content-Type", "INFOSEC_SIGN/1.0");

            connect.setRequestProperty("Content-Length", String.valueOf(param.length()));

            connect.setDoOutput(true);

            connect.setDoInput(true);

             

            //请求包转码后发送

            outStream = new OutputStreamWriter(connect.getOutputStream(), "GBK"); 

            outStream.write(param);

   

再次运行正确。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9859323/viewspace-2897613/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-09-27

  • 博文量
    42
  • 访问量
    117063