设置返回的Content-Type


	@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));
 

猜你喜欢

转载自my.oschina.net/u/198077/blog/1794750