我有一个奇怪的问题与WNS和推送通知的Windows\ windows phone设备(8.1)。如果我发送一个推送通知,它会工作得很好。问题是当我尝试向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)和服务器Apache2.2.26上的另一个域上测试
请求在php中使用curl。谢谢。
发布于 2015-05-14 23:12:12
我找到了问题所在。我无法将匹配的content-type发送到WNS,因此我删除了该行:
curl_setopt($request,CURLOPT_POSTFIELDS, $template);在模板为空的地方,在此之后,我需要以这种方式传递content-length (HTTP所需的):
$Header["ContentLength"] = "Content-Length : ".strlen($template);
curl_setopt($request,CURLOPT_HTTPHEADER, $Header);现在的响应状态是200 OK
不过还是要谢谢你,希望这能帮助到一些人
https://stackoverflow.com/questions/30225319
复制相似问题