@ResponseBody @RequestMapping(value="tmall/udw18") protected void udwUTF8(HttpServletRequest request, HttpServletResponse response) throws IOException { maxUdwThread = new AtomicInteger(Integer.parseInt(maxUdwThreadStr)); logger.info(LifeUtil.packLog("tmall-udwUTF8-udw-start >>>>>>>>>>>")); logger.info("UdwRest-udwUTF8当前使用的并发量为" + currentUdwThread + ",最大并发量为" + maxUdwThread); long begin = System.currentTimeMillis(); List<String> listStr = new ArrayList<String>(); //返回淘宝xml response.setHeader("Content-type", "application/xml;charset=GBK"); response.setCharacterEncoding("GBK"); try { //当前支持的并发量加1 incrementCount(); //签名校验 boolean signFlag = false; String xml = ""; ServletInputStream sis = request.getInputStream(); comId = request.getParameter("com_id"); logger.info("UdwRest-udwUTF8-comId=" + comId); if(maskPw){ String sign=request.getParameter("sign"); logger.info("UdwRest-udwUTF8签名sign"+sign); xml = SignUtil.readXmlFromInputStream(sis); signFlag = SignUtil.validateSign(xml, sign); }else{ xml = SignUtil.readXmlFromInputStream(sis); signFlag= true; } if(!signFlag){ Map<String, String> mp = new HashMap<String, String>(); mp.put("ComId", comId); mp.put("RequestType", "01"); mp.put("ResponseCode", "0"); mp.put("ErrorMessage", "签名验证失败"); listStr.add(TmallResponse.udwPackage(mp)); logger.info("tmall>>>>>>>>>>>>udw>>>>>>>>>>>>>>>>>returnXML=" + TmallResponse.packPackageList(listStr)); response.getWriter().write(TmallResponse.packPackageList(listStr)); } listStr = convertData(xml, request); logger.info("tmall>>>>>>>>>>>>udw>>>>>>>>>>>>>>>>>returnXML=" + TmallResponse.packPackageList(listStr)); long end = System.currentTimeMillis(); logger.info("tmall>>>>>>>>>udw>>>>>>>>time=" + (end-begin) + "ms"); response.getWriter().write(TmallResponse.packPackageList(listStr)); } catch (Exception e) { logger.error("UdwRest-udwUTF8-error:" + e.getMessage()); e.printStackTrace(); Map<String, String> mp = new HashMap<String, String>(); mp.put("ComId", comId); mp.put("RequestType", "01"); mp.put("ResponseCode", "1"); mp.put("ErrorMessage", "系统异常"); listStr.add(TmallResponse.udwPackage(mp)); logger.info("tmall>>>>>>>>>>>>udw>>>>>>>>>>>>>>>>>returnXML=" + TmallResponse.packPackageList(listStr)); response.getWriter().write(TmallResponse.packPackageList(listStr)); } finally { //当前支持的最大并发量减1 decrementCount(); } }
response.setHeader("Content-type", "application/xml;charset=GBK");
response.setCharacterEncoding("GBK");并发
return response.getWriter().write(TmallResponse.packPackageList(listStr));
app