2

PHPサービスに問題があります。タイルの更新とトーストの更新要求をMS通知サービスに送信するためにphpを使用しています。応答の最初の要求の後、私は次のヘッダーを持っています:

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が削除されたようです。

WindowsServiceを使用するとすべて正常に動作するため、WP7アプリに問題はありません。

私の問題は問題[質問]に似ているようです:WindowsPhone7プッシュ通知が私の電話に表示されない

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 に答える