问答详情
源自:3-2 接收事件订阅与回复响应消息(二)

关注回复消息不出来,什么情况,xml正确呀也


<xml> <ToUserName>< ![CDATA[onDJwxFs4FspRa9SFuOoB6Xnz5mE] ]></ToUserName> <FromUserName>< ![CDATA[gh_46859ebeb836] ]></FromUserName> <CreateTime>1520145765</CreateTime> <MsgType>< ![CDATA[text] ]></MsgType> <Content>< ![CDATA[欢迎关注] ]></Content> </xml>

提问者:慕妹3468239 2018-03-04 15:12

个回答

  • 111
    2018-03-04 15:44:26
    已采纳

    可能有2个原因,

    第一个:返回给微信服务器的XML数据包中不能有空格;

    第二个:老师接收微信POST过来的数据包方式可能不适合你,试试这个

            $postArr = file_get_contents("php://input");
            libxml_disable_entity_loader(true);
            $postObj = simplexml_load_string($postArr, 'SimpleXMLElement', LIBXML_NOCDATA);

  • 慕移动9385585
    2020-06-17 17:47:39

    它上面的那个

    if($tmpstr==$signature && $echostr){

          /*

          第一次在微信公众平台设置url地址的时候,这是微信公众帐号第一次推送get 请求到第三方服务器url地址///////////

        * */

          //第一次接入微信API接口的时候

          echo $echostr;

          exit;

         }else{

            $this->reponseMwg();

         }

    这样else 好像不会进去吧,我就直接换成 $postArr = file_get_contents("php://input");
            libxml_disable_entity_loader(true);
            $postObj = simplexml_load_string($postArr, 'SimpleXMLElement', LIBXML_NOCDATA);,

    然后xml也不用去除空格,自定义一个方法调用他,我是第二种错误,。然后发现else没用



  • IIVVTT
    2018-05-30 15:54:32

    我的也不行,用上面的代码也不行,怎么回事

  • 慕妹3468239
    2018-03-04 15:16:18

    去掉空格