微信不接受回应消息

时间:2014-04-11 07:27:19

标签: asp.net-web-api wechat

因此,我们在微信调试控制台中接受了我们的应用程序,并希望使用富媒体类型的消息进行响应。 服务器的预期请求如下:

<xml>
   <ToUserName>UserName</ToUserName>
    <FromuserName>TestUser</FromuserName>
    <CreateTime>7200</CreateTime>
    <MsgId>12302</MsgId>
    <Content>Test Message</Content>
</xml>

我们回复以下内容:

 <xml>
    <ToUserName>TestUser</ToUserName>
    <FromUserName>UserName</FromUserName>
    <CreateTime>7200</CreateTime>
    <MsgType>news</MsgType>
    <ArticleCount>1</ArticleCount>
    <Articles>
        <item>
             <Title>Test</Title>
             <Description>Test</Description>
             <PicUrl>http://PICURL</PicUrl>
             <Url>http://ARTICLE_URL</Url>
        </item>
    </Articles>
 </xml>

然而,应用程序似乎没有收到请求,因为它是设置所以问题是:

  1. 请求会转到网址设置吗?
  2. 如果是,那么xml对于响应以及发布到提供的URL的消息是否正确?
  3. 请求中是否有特定的标题?

1 个答案:

答案 0 :(得分:1)

  1. 是,请求将转到您已设置的URL,并将直接XML帖子发送到您的脚本。
  2. 检查你的XML似乎与实际的系统输入和输出有很多不同,也检查工作输入和输出XML的例子并试试这个。显然要替换ToUserName和FromUserName:
  3. 输入回复

        <xml>
            <ToUserName><![CDATA[gh_4456]]></ToUserName>
            <FromUserName><![CDATA[123abc]]></FromUserName> 
            <CreateTime>1397201326</CreateTime> 
            <MsgType><![CDATA[text]]></MsgType> 
            <Content><![CDATA[test]]></Content> 
            <MsgId>6000934001298302633</MsgId> 
        </xml> 
    

    输出回复

        <xml> 
            <ToUserName><![CDATA[123abc]]></ToUserName> 
            <FromUserName><![CDATA[gh_4456]]></FromUserName> 
            <CreateTime>1397201781</CreateTime> 
            <MsgType><![CDATA[news]]></MsgType> 
            <ArticleCount>1</ArticleCount> 
            <Articles>
                <item> 
                    <Title><![CDATA[Your test title]]></Title> 
                    <Description><![CDATA[test description]]></Description> 
                    <PicUrl><![CDATA[http://test.com/img.jpg]]></PicUrl> 
                    <Url><![CDATA[http://test.com/]]></Url> 
                </item> 
            </Articles> 
        </xml>  
    
    1. 您无需担心标题。

      • FOR OFFICIAL OA:我认为您的问题可能是您尚未启用开发者模式。即使您已设置URL和TOKEN。请确认开发者模式已启用。转到admin.wechat.com - &gt;登录 - &gt;功能 - &gt;高级 - &gt;开发者模式应该是启用的。

      • FOR SANDBOX帐户:始终启用开发者模式。

      • 同时检查您的CreateTime,这应该是一个unix时间戳。

      • 如果没有解决问题,请查看您的访问日志。找到微信发布到的URL。获得URL到http://www.hurl.it/后,将目标类型更改为POST并将URL粘贴到那里。添加一个名为“Content-Type”的标题,其值为“text / xml”,单击add body并在此处发布您的输入响应。这将为您提供微信看到的响应。我测试了你的,发现ToUserName是空白的,也确保你没有不需要的空格或换行符。