Push-уведомления Windows Phone 7 не отображаются на моем телефоне, когда я использую службу PHP

У меня есть некоторые проблемы с моей службой php. Я использую php для отправки запросов на обновление Tile и Toast в службу уведомлений MS. После первого запроса в ответ у меня есть следующие заголовки:

URL: 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 у меня ничего нет. Когда я снова пытаюсь обновить плитку:

URL: 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 

Кажется, после первого запроса мой URL был удален.

У меня нет проблем с моим приложением WP7, потому что когда я использую WindowsService, все работает нормально.

Кажется, моя проблема похожа на проблему [вопрос]: Push-уведомления Windows Phone 7 не отображаются на моем телефоне


person Volodymyr    schedule 21.07.2011    source источник
comment
здесь та же проблема, за исключением того, что я использовал код для отправки push-уведомлений, приведенных в примерах (форма ASPX). Первый раз заработало, и увидел обновленный тайл в телефоне. Затем я попробовал свою версию php, не работал, вернулся с ASPX, не удалось с 404.   -  person Felipe Guajardo    schedule 01.12.2011


Ответы (2)


Внимательно проверьте свой XML. У меня точно такое же поведение с незакрытым тегом.

person neon    schedule 24.01.2012

Потратив некоторое время на попытки исправить XML, в котором не было ничего неправильного (из-за ответов, в которых предполагалось, что код ошибки 404 вызван недопустимым XML), я чувствую необходимость поделиться своими выводами.

Отправка недопустимого XML в уведомлении в первый раз не будет немедленно идентифицирована в ответе (т. е. ответ будет 200/Получено/Активно/Подключено, даже если уведомление не дойдет до устройства).

Однако в следующий раз, когда вы попытаетесь отправить уведомление на этот канал (независимо от того, имеет ли он действительный или недействительный XML), вы обнаружите, что канал больше недействителен (т. е. ответ будет 404).

Канал становится недействительным из-за ранее отправленного недопустимого сообщения.

Это означает, что если вы получите эту ошибку, вы должны сначала получить новый канал уведомлений (путем запуска вашего приложения, которое должно инициировать подписку на службу MPN).

Только после этого вы должны проверить правильность вашего XML и попытаться отправить уведомление на новый канал. На этот раз вы снова получите статус 200, и единственный способ узнать, действителен ли XML, — это проверить, достигло ли уведомление устройства.

person Eran    schedule 27.03.2013