1

Windows\ windows phone デバイス (8.1) の WNS とプッシュ通知に奇妙な問題があります。プッシュ通知を送信するとうまくいきます。問題は、WNS に X-WNS-Match 要求を送信しようとしたときです。現在のヘッダーを送信しています:

DELETE /?token=<CHANNEL>
HTTP/1.1
Host: db3.notify.windows.com
Accept: */*
Authorization: Bearer <TOKEN>
content-type: text/xml
X-WNS-Match: type=wns/toast;all
Content-Length: 0

サービスからの答えは次のとおりです。

HTTP/1.1 400 Bad Request
Content-Length: 0
X-WNS-STATUS: dropped
X-WNS-ERROR-DESCRIPTION: Content type not supported
X-WNS-MSG-ID: C51E1A17972EA7A
X-WNS-DEBUG-TRACE: DB3WNS2011131
Strict-Transport-Security: max-age=31536000; includeSubDomains
Date: Wed, 13 May 2015 21:05:06 GMT

また、リクエストヘッダーに次を設定しようとしました:

X-WNS-Type: wns/toast

今私の疑問は次のとおりです。HTTPのDELETEメソッドをサポートしていないサーバーですか?それとも、コンテンツ タイプに別のものを設定する必要がありますか? 私は wns ドキュメントに従いました: https://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx 私は azurewebsite (iis) とサーバー apache 2.2 を使用する別のドメインでテストしています。 26

リクエストは、curl を使用して php で行います。ありがとうございました。

4

1 に答える 1

1

問題が見つかりました。MATCH の content-type を WNS に送信できないため、次の行を削除しました。

curl_setopt($request,CURLOPT_POSTFIELDS, $template);

テンプレートが空だった場合、この後、コンテンツの長さ (HTTP に必要) を次のように渡す必要があります。

$Header["ContentLength"] = "Content-Length : ".strlen($template);
curl_setopt($request,CURLOPT_HTTPHEADER, $Header);

そして、応答ステータスは現在 200 OK です

しかし、ありがとう、これが誰かを助けることを願っています

于 2015-05-14T15:12:12.143 に答える