MobileFirst Platform 7.0

时间:2015-08-16 22:02:58

标签: apple-push-notifications ibm-mobilefirst

在MFP 7.0中的.wlapp文件中部署APNS证书时,我在验证结束日期时会看到空指针异常,即使它有一个。 (openssl pkcs12 -in apns-certificate-sandbox.p12 | openssl x509 -noout -enddate将来会返回有效日期)。   似乎其他人已经做了这个工作,所以我猜它一定是我做错了...有其他人解决了有效的Apple推送通知服务证书未能部署在MFP上的类似问题 日志中的相关行:

947: "com.ibm.worklight.admin.services.ApplicationService E FWLSE3000E: A server error was detected.",
"948: com.ibm.worklight.admin.common.util.exceptions.ValidationException: FWLSE3119E: APNS certificate validation failed. See additional messages for details.",
"949: at com.ibm.worklight.admin.util.PushEnvironmentUtil.validateApnsConfiguration(PushEnvironmentUtil.java:232)",
"950: at com.ibm.worklight.admin.util.PushEnvironmentUtil.validatePushConfiguration(PushEnvironmentUtil.java:220)",
    [ ... lots more trace here .. ]
"1030: Caused by: java.lang.NullPointerException",
"1031:  at java.io.ByteArrayInputStream.(ByteArrayInputStream.java:117)",
"1032:  at com.ibm.worklight.admin.util.PushEnvironmentUtil.getCertificateExpiryDate(PushEnvironmentUtil.java:362)",
"1033:  at com.ibm.worklight.admin.util.PushEnvironmentUtil.validateApnsConfiguration(PushEnvironmentUtil.java:230)",

1 个答案:

答案 0 :(得分:1)

最初的障碍是.wlapp文件没有被构建,所以文件中没有apns证书(它只是.zip格式,带有一个应该保存.p12文件的元目录)。基本问题是application-descriptor.xml中的标签密码字段不完全正确:它遵循https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-0/notifications/push-notifications-native-ios-applications/中“iOS应用程序中的推送通知”中的示例:

<pushSender password="apns-certificate-p12 password"/>

什么时候真的应该有密码:

<pushSender password="password"/> </code></pre>

使用名为apns-certificate-sandbox.p12或apns-certificate-production.p12的文件,具体取决于要使用的服务器。

对于我没有检查http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.dev.doc/devref/c_the_application_descriptor.html上的官方文档的问题我是双重傻瓜,它已正确描述。

道德:“当有疑问时,RTFM”