2

我的 php 服务有一些问题。我使用 php 向 MS 通知服务发送 Tile 更新和 Toast 更新请求。在第一次响应请求后,我有以下标题:

网址:http ://db3.notify.live.net/throttledthirdparty/01.00/AAHFGdPCYDOUSbbzeTpjKOMZAgAAAAADAQAAAAQUZm52OjIzOEQ2NDJDRkI5MEVFMEQ

回复:

HTTP/1.1 200 OK
Cache-Control: private
Server: Microsoft-IIS/7.5
X-DeviceConnectionStatus: Connected
X-NotificationStatus: Received
X-SubscriptionStatus: Active 
X-MessageID: da8aa692-e9cd-682b-fe1c-22ffe7379414
ActivityId: cd9c8b0b-26db-4eac-835d-9f9505d7a381 
X-Server: DB3MPNSM016
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET
Date: Wed, 20 Jul 2011 11:21:42 GMT
Content-Length: 0

Array ( [X-SubscriptionStatus] => Active [X-NotificationStatus] => Received [X-DeviceConnectionStatus] => Connected )

但在我的 WP7 应用程序中,我什么都没有。当我再次尝试更新磁贴时:

网址:http ://db3.notify.live.net/throttledthirdparty/01.00/AAHFGdPCYDOUSbbzeTpjKOMZAgAAAAADAQAAAAQUZm52OjIzOEQ2NDJDRkI5MEVFMEQ

回复:

HTTP/1.1 404 Not Found
Cache-Control: private
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-DeviceConnectionStatus: Disconnected
X-NotificationStatus: Dropped 
X-SubscriptionStatus: Expired
X-MessageID: {B6AAC154-DA37-277F-14FE-9F76365ACDD1}
ActivityId: f6b6a06b-a836-449c-9c9b-dc3033850981
X-Server: DB3MPNSM033 
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 20 Jul 2011 11:29:34 GMT
Content-Length: 1245 

似乎在第一次请求后我的网址被删除了。

我的 WP7 应用程序没有任何问题,因为当我使用 WindowsService 时一切正常。

看来我的问题类似于问题[问题]:Windows Phone 7 Push Notifications Not Showing Up On My Phone

4

2 回答 2

2

仔细检查您的 XML。我对未封闭的标签有完全相同的行为。

于 2012-01-24T09:01:55.550 回答
0

在浪费了一些时间试图修复一个没有任何问题的 XML 之后(由于答案表明 404 错误代码是由无效的 XML 引起的),我觉得有必要分享我的发现。

第一次在通知中发送无效的 XML 不会立即在响应中被识别(即响应将是 200/Received/Active/Connected,即使通知不会到达设备)。

但是,下次您尝试向该通道发送通知时(无论它是否具有有效或无效的 XML),您会发现该通道不再有效(即响应将是 404)。

由于先前发送的无效消息,通道变为无效。

这意味着,如果您收到此错误,您必须首先获得一个新的通知渠道(通过启动您的应用程序,这应该启动对 MPN 服务的订阅)。

只有这样,您才应该验证 XML 的正确性并尝试将通知发送到新通道。这次您将再次获得 200 状态,并且知道 XML 是否有效的唯一方法是检查通知是否到达设备。

于 2013-03-27T19:58:04.557 回答