Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.2.0.BETA
-
Fix Version/s: EE-3.2.0.GA
-
Component/s: Push Library
-
Labels:None
-
Environment:ICEmobile
Description
If an iOS client connects with an undefined apns ID (such as a development version of ICEmobile-SX) the following Exception is seen:
Caused by: java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
at org.icepush.servlet.ServletRequestResponse.getHeaderAsInteger(ServletRequestResponse.java:125)
at org.icepush.http.standard.RequestProxy.getHeaderAsInteger(RequestProxy.java:65)
at org.icepush.http.standard.RequestProxy.getHeaderAsInteger(RequestProxy.java:65)
at org.icepush.BlockingConnectionServer$RunningServer.service(BlockingConnectionServer.java:301)
at org.icepush.BlockingConnectionServer.service(BlockingConnectionServer.java:98)
at org.icepush.SequenceTaggingServer.service(SequenceTaggingServer.java:20)
at com.icesoft.icepush.AdjustHeartbeatServer.service(AdjustHeartbeatServer.java:32)
at org.icepush.ConfigurationServer.service(ConfigurationServer.java:92)
at org.icepush.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:45)
at org.icepush.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:48)
at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39)
at org.icepush.servlet.BrowserDispatcher$BrowserEntry.service(BrowserDispatcher.java:117)
at org.icepush.servlet.BrowserDispatcher.service(BrowserDispatcher.java:45)
at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39)
at org.icepush.servlet.MainServlet.service(MainServlet.java:116)
at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:232)
Caused by: java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
at org.icepush.servlet.ServletRequestResponse.getHeaderAsInteger(ServletRequestResponse.java:125)
at org.icepush.http.standard.RequestProxy.getHeaderAsInteger(RequestProxy.java:65)
at org.icepush.http.standard.RequestProxy.getHeaderAsInteger(RequestProxy.java:65)
at org.icepush.BlockingConnectionServer$RunningServer.service(BlockingConnectionServer.java:301)
at org.icepush.BlockingConnectionServer.service(BlockingConnectionServer.java:98)
at org.icepush.SequenceTaggingServer.service(SequenceTaggingServer.java:20)
at com.icesoft.icepush.AdjustHeartbeatServer.service(AdjustHeartbeatServer.java:32)
at org.icepush.ConfigurationServer.service(ConfigurationServer.java:92)
at org.icepush.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:45)
at org.icepush.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:48)
at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39)
at org.icepush.servlet.BrowserDispatcher$BrowserEntry.service(BrowserDispatcher.java:117)
at org.icepush.servlet.BrowserDispatcher.service(BrowserDispatcher.java:45)
at org.icepush.servlet.PathDispatcher.service(PathDispatcher.java:39)
at org.icepush.servlet.MainServlet.service(MainServlet.java:116)
at org.icefaces.impl.push.servlet.ICEpushResourceHandler$ICEpushResourceHandlerImpl.handleResourceRequest(ICEpushResourceHandler.java:232)
My analysis doesn't seem correct:
pushGroupManager.recordListen(participatingPushIDs, request.getHeaderAsInteger("ice.push.sequence"));
is trying to pick up the ice.push.sequence which hasn't been defined yet.