首页 新闻 会员 周边

微信公众平台开发者URL接入的疑问

0
[已解决问题] 解决于 2015-02-26 20:29

微信公众平台开发者URL接入的疑问:

分别用ASP.NET MVC与WebService写了接入验证的方法。

微信的要求是:

若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

在ASP.NET MVC测试接入成功。

可是同样的方法写到WebService里面并设置WebService允许通过GET方法请求,我自己用浏览器Get请求一样返回了echostr参数的内容。可是接入微信后测试表明微信却根本不会发Get请求过来。

换成ASP.NET MVC 又可以。

希望园子的朋友帮忙看看这是哪里出了问题

链接是http://smartwifi.vicp.net/WeiXinService.asmx/InterFace?token=1&timestamp=1&nonce=1&echostr=1111

 

大芝麻的主页 大芝麻 | 初学一级 | 园豆:4
提问于:2015-02-17 14:05
< >
分享
最佳答案
0

Asp.Net MVC 同 WebService 不同之处在于,前者支持 HTTP 重定向。Web Service 也支持重定向,但是采用的是 WS-Addressing 协议。

奖励园豆:5
Launcher | 高人七级 |园豆:45045 | 2015-02-17 14:12

请问这个有什么办法处理吗 。函数内部用的Response,write写的   返回的不是XML格式的数据

大芝麻 | 园豆:4 (初学一级) | 2015-02-17 15:12

还是希望用WS来做服务端

大芝麻 | 园豆:4 (初学一级) | 2015-02-17 15:12

@大芝麻: 那你先得把用 Asp.Net 接入的流程说清楚,也就是请求/响应是如何在客户端浏览器、你的服务器、微信服务器之间传递的。

Launcher | 园豆:45045 (高人七级) | 2015-02-17 15:14

@Launcher: 我把真个好流程说下流程是这样的:

WS服务器:.net WebService 程序

微信服务端:公众平台服务号

用户客户端:加入了服务号的微信用户

验证过程是:

-》微信服务端绑定WS服务端URL

-》微信服务器发送GET请求到绑定的WS服务端地址URL上(http://smartwifi.vicp.net/WeiXinService.asmx/InterFace),GET请求会在URL后面携带四个参数:token、timestamp、nonce、echostr。前三个用于WS服务端确定GET请求来自微信,暂时不用管。

-》WS服务端InterFace函数原样返回GET请求的echostr参数内容给微信服务端,则接入生效。

大芝麻 | 园豆:4 (初学一级) | 2015-02-17 15:51

@大芝麻: 你这个流程跟“用户客户端:加入了服务号的微信用户”没有关系,是这样的吗?

Launcher | 园豆:45045 (高人七级) | 2015-02-17 15:54

@Launcher: 是的没有关系。目前只是WS服务端接入微信服务端

大芝麻 | 园豆:4 (初学一级) | 2015-02-17 15:55

@大芝麻: 微信服务端绑定WS服务端URL —— 咋绑定?

Launcher | 园豆:45045 (高人七级) | 2015-02-17 16:00

@Launcher: InterFace 函数内同就是简单的

InterFace(string token,string timestamp,string nonce,string echostr)

{

    if(请求来自微信)

{

    Response.write(echostr);

}

}

大芝麻 | 园豆:4 (初学一级) | 2015-02-17 16:00

@Launcher:绑定是通过微信公众平台绑定的。在开发者中心 

大芝麻 | 园豆:4 (初学一级) | 2015-02-17 16:02

@大芝麻: 放假了,过年了,年后见,拜拜!

Launcher | 园豆:45045 (高人七级) | 2015-02-17 16:06

@Launcher: 哈哈 好多 新年快乐,期待您的帮助

大芝麻 | 园豆:4 (初学一级) | 2015-02-17 16:08

@大芝麻: 唉是我粗心大意吧第一个参数名写错了

token 改成signature 就行了

大芝麻 | 园豆:4 (初学一级) | 2015-02-26 20:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册