zoukankan      html  css  js  c++  java
  • JAVA微信支付多次回调方法解决方案

    @WebServlet("/ActionServlet")
    public class PayWxOrderingReqCBS extends HttpServlet {

        public PayWxOrderingReqCBS() {
            super();
        }

        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
         *      response)
         */
        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
             doPost(request, response);
        }

        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
         *      response)
         */
        protected void doPost(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {
         
            String msg = "success";
            response.setContentType("text/xml");    
            System.out.print("微信支付回调数据开始");        
            String inputLine;
            String notityXml = "";
            String resXml = "";

            try {
                while ((inputLine = request.getReader().readLine()) != null) {
                    notityXml += inputLine;
                }
                request.getReader().close();
            } catch (Exception e) {
                e.printStackTrace();
            }

            System.out.println("接收到的报文:" + notityXml);     
            System.out.println("微信支付回调数据结束");
            System.out.println("告知服务端订单情况");
            String b = Xml2JsonUtil.xml2JSON(notityXml);
            System.out.println("=======================>"+b);
            try {
                JSONObject c = new JSONObject(b);
                String d = c.get("xml").toString();
                JSONObject e = new JSONObject(d);
                String f = e.get("return_code").toString();
                if (f.contains("SUCCESS")) {
                    /** 告知订单状态,修改订单状态 */
                   具体业务               
                    
                }
            } catch (JSONException e) {          
                e.printStackTrace();
            } catch (SwordBaseCheckedException e) {         
                e.printStackTrace();
            }
            resXml = "<xml>" + "<return_code><![CDATA[SUCCESS]]></return_code>"
                    + "<return_msg><![CDATA[OK]]></return_msg>" + "</xml> ";
            BufferedOutputStream out = new BufferedOutputStream(
                    response.getOutputStream());
            out.write(resXml.getBytes());
            out.flush();
            out.close();

            response.getWriter().println(msg);

        }

  • 相关阅读:
    kafka副本
    kafka消息丢失
    kafka消费者
    RN8302b调试笔记
    MDK #pragma anon_unions
    [Python笔记]Strip
    [Python笔记]AnyAll
    [Python笔记]元组
    [Python笔记]列表
    嵌入式平台移植Python
  • 原文地址:https://www.cnblogs.com/chinaDream2014/p/5916063.html
Copyright © 2011-2022 走看看