在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)",
答案 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”