首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WNS X_WNS_MATCH错误请求

WNS X_WNS_MATCH错误请求
EN

Stack Overflow用户
提问于 2015-05-14 05:14:24
回答 1查看 298关注 0票数 1

我有一个奇怪的问题与WNS和推送通知的Windows\ windows phone设备(8.1)。如果我发送一个推送通知,它会工作得很好。问题是当我尝试向WNS发送X-WNS-Match请求时。我正在发送当前标头:

代码语言:javascript
复制
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

来自该服务的答案是:

代码语言:javascript
复制
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

我还尝试在请求标头中设置:

代码语言:javascript
复制
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。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-05-14 23:12:12

我找到了问题所在。我无法将匹配的content-type发送到WNS,因此我删除了该行:

代码语言:javascript
复制
curl_setopt($request,CURLOPT_POSTFIELDS, $template);

在模板为空的地方,在此之后,我需要以这种方式传递content-length (HTTP所需的):

代码语言:javascript
复制
$Header["ContentLength"] = "Content-Length : ".strlen($template);
curl_setopt($request,CURLOPT_HTTPHEADER, $Header);

现在的响应状态是200 OK

不过还是要谢谢你,希望这能帮助到一些人

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30225319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档