【发布时间】:2015-03-18 14:26:19
【问题描述】:
我正在通过 WNS 和 WINJS(Windows Phone 8.1)处理推送通知。 我关注了这篇文章https://msdn.microsoft.com/en-us/library/windows/apps/hh465460.aspx。 现在我无法在我的设备上接收推送通知,但 WNS 服务器以状态 200 和收到的消息回复我
HTTP/1.1 200 OK
Content-Length: 0
X-WNS-DEVICECONNECTIONSTATUS: connected
X-WNS-NOTIFICATIONSTATUS: received
X-WNS-STATUS: received
X-WNS-MSG-ID: 77B3599101A23AB8
X-WNS-DEBUG-TRACE: DB3WNS2010831
Strict-Transport-Security: max-age=31536000; includeSubDomains
Date: Wed, 18 Mar 2015 13:58:29 GMT
我的请求头(在 php 中循环)是:
[0] => Content-Type: text/xml
[1] => Content-Length: 142
[2] => X-WNS-TTL: 3600000
[3] => X-WNS-Type: wns/toast
[4] => X-WNS-RequestForStatus: true
[5] => Authorization: Bearer EgAeAQMAAAAEgAAAC4AA90q2GTPfvxMbeV....
我的 xml 测试负载是:
<toast>
<visual lang="it-IT">
<binding template="ToastText02">
<text id="1">Hello</text>
</binding>
</visual>
</toast>
显然,对于服务器,我的请求很好,但没有任何内容发送到设备(无论是关闭的应用程序还是运行应用程序与相关的 pushnotificationreceived 事件)。我还检查了这个列表 https://msdn.microsoft.com/en-us/library/windows/apps/dn457490.aspx#push_200_OK ,但没有成功,似乎(对我来说)一切都很好。我真的对此很生气,我不知道错误到底出在哪里。 有人有同样的问题吗?非常感谢
【问题讨论】:
-
面临同样的问题!我已经交叉检查了所有标头和我的请求有效负载,但它不起作用!在 REST 控制台上,它给了我 200 OK 状态。当我尝试对 Ruby 代码执行相同操作时,它会抛出
#<Net::HTTPMethodNotAllowed 405 Method Not Allowed readbody=true>错误。 @ user3149172 ..尝试了您的解决方案,但也无济于事。这是我的请求代码 sn-p -request = Net::HTTP::Post.new(uri.path, {"Authorization" => "#{windows_access_token}", "Content-Type" => "text/xml", 'Content-Length' => '0', 'X-WNS-Type' => 'wns/toast' })
标签: javascript push-notification windows-phone-8.1 winjs toast