【问题标题】:Passbook update tag: if-modified-since (null)存折更新标签:if-modified-since (null)
【发布时间】:2013-03-30 23:11:36
【问题描述】:

我正在使用 Restlet2.0 (java) 来构建存折服务器。当我使用 PushToken 向 APNs 发送推送通知时,我从服务器日志中收到消息“if-modified-since (null)”:

entity.getText() : {"logs":["[2013-03-31 00:18:29 +1100] 获取通过任务 (pass type pass.xxxxxx.freehug,序列号ABC,if-modified-since (无效的);带有网络服务网址 http://192.168.1.43:8080/passbook/restlet) 遇到错误: 服务器响应格式错误(缺少响应数据)"]}

此响应 URL 与为 LoggingResource 类(第 4 行)定义的路由器匹配,但与为最新 pkpass 比较定义要捕获的 passUpdatedSince={tag} 参数的 SerialNumbersPassWithDeviceResource 类(第 2 行)不匹配:

router.attach("/v1/devices/{deviceLibraryIdentifier}/registrations/{passTypeIdentifier}/{serialNumber}", DeviceRegistrationResource.class); //1/4. Registration - POST/DELETE
router.attach("/v1/devices/{deviceLibraryIdentifier}/registrations/{passTypeIdentifier}?passUpdatedSince={tag}", SerialNumbersPassWithDeviceResource.class);  //2. SerialNumbers - GET
router.attach("/v1/passes/{passTypeIdentifier}/{serialNumber}", LatestVersionPassResource.class);  //3. LatestVersion - GET
router.attach("/v1/log", LoggingResource.class);  //5. Logging - POST

那么我在哪里可以设置更新标签 (passUpdatedSince={tag}) 以及如何在上面第 2 行的路由器下获取它?获取更新标签的路由器设置是否正确?

【问题讨论】:

    标签: passbook


    【解决方案1】:

    passUpdatedSince={tag} 值是根据您的 Web 服务对请求的最后一次成功响应设置的:

    https://{webServiceURL}/v1/devices/{deviceLibraryIdentifier}/registrations/{passTypeIdentifier}
    

    您可以通过在对上述请求的 JSON 字典响应中提供 lastUpdated 的键来设置它。该值可以是您喜欢的任何值,但最简单的方法是使用时间戳。

    if-modified-since 值由Last-Modified HTTP 标头设置,该标头与接收到的最后一个与passTypeIdentifierserialNumber 匹配的.pkpass 包一起发送。同样,您可以选择在此标头中发送什么值。

    您上面提到的具体错误不是由于其中任何一个造成的。这是由于您的 Web 服务未提供 .pkpass 捆绑包以响应以下请求:

    https://{webServiceURL}/v1/passes/{passTypeIdentifier}/{serialNumber}
    

    您可能想尝试将您的设备连接到 Xcode,打开 PassKit 日志记录(设置 -> 开发人员),然后在发送推送时监控设备的控制台日志。这可能会让您更详细地了解设备将消息发送到您的网络服务日志的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-01
      • 2011-10-03
      • 2016-12-10
      • 2016-04-02
      • 2011-07-02
      • 2023-03-31
      • 1970-01-01
      • 2020-12-27
      相关资源
      最近更新 更多