您现在的位置是:首页 > 博文答疑 > 微信到MF的连接实验博文答疑

微信到MF的连接实验

Leo2015-08-27【3】

简介微信到MF的连接实验

<由于个人资源限制,利用个人资源提供如下实验>

准备:

微信公众号:Mainfram

PHP服务器: powerone.cn   <因为没有Java服务器,因此用php作为微信与java服务器作为中间连接使用,实际应用中可以直接使用java服务器>

Java服务器:个人PC WEBSPHERE 服务器

MQ: 个人PC端MQ 和  Mainframe端MQ

MF:  MF虚拟机

动态IP映射工具:花生壳<因为是个人IP问题,略>


数据流程:

微信公众号 < - >微信服务器 < - >PHP服务器 < - > Java 服务器 < - > PC MQ < - >  MF MQ < - > MF逻辑处理(MQ CICS DB2) 

<相关图片素材可以从网盘下载 http://yunpan.cn/cmcgXeAMRgFEI  访问密码 e692>

1, 微信公众号使用效果截图如下:

Screenshot_2015-08-29-10-56-07.png

数据库数据如下:

DB2.png

2, PHP服务器上的微信接口

case "+":

                $postdata = trim(substr($keyword, 1));

                $curlPost = $postdata; 

                $ch = curl_init(); 

                //初始化一个CURL对象 

                curl_setopt($ch, CURLOPT_URL, "http://xxxxxxx/WechatServlet"); 

                //设置你所需要抓取的URL 

                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

                //设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中 假设上面的0换成1的话,那么接下来的$data就需要echo一下。 

                curl_setopt($ch, CURLOPT_POST, 1); 

                //post提交 

                curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); 

                $data = curl_exec($ch); 

                //运行curl,请求网页。 

                curl_close($ch);


                $content = $data;


                break;

3, JAVA服务器上的接口:

因为token验证和xml格式已经被PHP处理过,因此java中token验证和xml的处理过程可以忽略,php直接传递给java Servlet

    public void doPost(HttpServletRequest request, HttpServletResponse response)  

            throws ServletException, IOException {  

        //doGet(request, response);  

        request.setCharacterEncoding("UTF-8");  

        response.setCharacterEncoding("UTF-8");  

  

        /** 读取接收到的xml消息 */  

        StringBuffer sb = new StringBuffer();  

        InputStream is = request.getInputStream();  

        InputStreamReader isr = new InputStreamReader(is, "UTF-8");  

        BufferedReader br = new BufferedReader(isr);  

        String s = "";  

        while ((s = br.readLine()) != null) {  

            sb.append(s);  

        }  

        String xml = sb.toString(); //次即为接收到微信端发送过来的xml数据  

  

        String result = "";  

        /** 判断是否是微信接入激活验证,只有首次接入验证时才会收到echostr参数,此时需要把它直接返回 */  

        String echostr = request.getParameter("echostr");  

        if (echostr != null && echostr.length() > 1) {  

            result = echostr;  

        } else {  

            //正常的微信处理流程  

            //result = xml;

        String inputstring = xml;

    Secondbean mybean = new Secondbean();

    mybean.setUserid(inputstring);

            mybean.passtoMF();

            mybean.retreivefromMF();

            result = mybean.getMessage();

        }  


4, MQ 配置截图如下:

mq.png

5,CICS 定义信息如下:

cics.png

6,COBOL主要logic如下

VIEW       WANGLEI.MINI.SRCLIB(MQMINITR) - 01.00           Columns 00001 00072 

Command ===>                                                  Scroll ===> CSR  

016500 014100*                                                                 

016600 014200     PERFORM 200-MQOPEN        THRU    200-MQOPEN-EXIT.           

016700 014300     PERFORM 200-MQGET         THRU    200-MQGET-EXIT.            

016800 014400     PERFORM 200-PROCESS       THRU    200-END-PROCESS.           

016900 014500     PERFORM 200-MQPUT         THRU    200-MQPUT-EXIT.            

017000 014600     PERFORM 200-MQCLOSE       THRU    200-MQCLOSE-EXIT.          

017100 014700     PERFORM 999-RETURN        THRU    999-RETURN-EXIT.           

017200 014800*                                                                 

VIEW       WANGLEI.MINI.SRCLIB(USERINQ) - 01.00            Column

Command ===>                                                  Scr

012900 019600 200-PROCESSING.                                    

013000 019700     MOVE  USERINQ-USER-ID     TO  USERTB-USER-ID.  

013100 019800     EXEC    SQL                                    

013200 019900             SELECT  USER_ID,                       

013300                            DEPT_ID,                       

013400                            BRANCH_ID,                     

013500                            USER_NAME,                     

013600                            USER_LEVEL,                    

013700             &n

  • 微信公众号

站点声明:

所有文章未经授权均可转载、摘编、复制或建立镜像,如有违反,不会追究法律责任。

Copyright © www.powerone.cn All Rights Reserved. 备案号:辽ICP备15011308号