Mobile First Platform 8.0推送通知在MacOS High Sierria上失败

时间:2018-03-25 01:58:22

标签: ibm-mobilefirst

我创建了推送通知应用程序(它的cordova应用程序),MFPPush.registerDevice成功完成。但是通过MFPConsole(http://localhost:9080/mfpconsole/index.html#/mfp/push/echoview2.MFP8Sample#sendPush)的“发送通知”失败了。

我认为MFP服务器可能会使用IPv6 IP地址作为自己的服务器IP地址。

任何人都可以找到解决方法吗?

环境 +操作系统:Mac OS High Sierria + MFP8:产品版本:8.0.0.00-20180315-134705

[err] com.ibm.mobile.analytics.sdk.events.AnalyticArgumentException: java.lang.IllegalArgumentException: MSAN018E: The supplied value was invalid: fe80:0:0:0:9787:db29:a3d:b9e9%utun0 for serverIpAddress.
[err]   at com.ibm.mobile.analytics.sdk.model.PushNotification.setServerIpAddress(PushNotification.java:197)
[err]   at com.ibm.mobile.analytics.sdk.events.PushNotification.<init>(PushNotification.java:37)
[err]   at com.ibm.mfp.push.server.analytics.plugin.AnalyticsPlugin.sendNotificationDispatchEvent(AnalyticsPlugin.java:172)
[err]   at com.ibm.mfp.push.server.notification.Mediator.fireNotificationDispatchEvent(Mediator.java:236)
[err]   at com.ibm.mfp.push.server.notification.apns.ApplicationConnection.sendNotification(ApplicationConnection.java:146)
[err]   at com.ibm.mfp.push.server.notification.apns.APNSMediator.sendNotification(APNSMediator.java:124)
[err]   at com.ibm.mfp.push.server.notification.Mediator$2.run(Mediator.java:105)
[err]   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[err]   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[err]   at java.lang.Thread.run(Thread.java:748)
[err] Caused by: java.lang.IllegalArgumentException: MSAN018E: The supplied value was invalid: fe80:0:0:0:9787:db29:a3d:b9e9%utun0 for serverIpAddress.
[err]   ... 12 more
[ERROR   ] Couldn't send message after 3 retries.Message(Id=2; Token=3BAE6CECD27D2DF48920AF230BE02A7FC3699480529AAAD17D1C27235B6C33C5; Payload={"payload":"{\"nid\":\"46403e8\",\"tag\":\"Push.ALL\"}","aps":{"alert":{"action-loc-key":null,"body":"Foo"}}})
Connection closed by remote host
[ERROR   ] FPWSE1083E: Failure sending Apple Push Notification Service (APNS) notification with identifier 2, device token: 3BAE6CECD27D2DF48920AF230BE02A7FC3699480529AAAD17D1C27235B6C33C5.
Connection closed by remote host
[err] Exception in thread "pool-9-thread-3" 
[err] com.notnoop.exceptions.NetworkIOException: java.net.SocketException: Connection closed by remote host
[err]   at com.notnoop.apns.internal.Utilities.wrapAndThrowAsRuntimeException(Utilities.java:277)
[err]   at com.ibm.mfp.push.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:319)
[err]   at com.ibm.mfp.push.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
[err]   at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[err]   at java.lang.Thread.run(Thread.java:748)
[err] Caused by: java.net.SocketException: Connection closed by remote host
[err]   at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1565)
[err]   at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:124)
[err]   at java.io.OutputStream.write(OutputStream.java:75)
[err]   at com.ibm.mfp.push.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
[err]   ... 5 more

1 个答案:

答案 0 :(得分:0)

这看起来像配置错误。 MFP Push需要与Apple通知服务器(称为APNS)通信才能成功发送通知。 在您的情况下,看起来像mobilefirst无法与APNS服务器通信。您需要明确配置它。有关为APNS和GCM配置推送通知代理的说明(适用于Android的Google云消息)可以找到here