02-21-2011 11:20 AM - edited 02-21-2011 11:48 AM
I have a complete (server and device) push solution for the enterprise (BES). Our application successfully creates and sends push messages to the devices. But I never receive a confirmation. For the server side application we use the BlackBerry Push SDK 5.0 high level API (without subscriptions).
The problem: The BES/MDS cannot call my notification URL. The MDS log says after a push:
LAYER = SCM, Notifying to URL = https://<server dns name>:<port>/webApp/notification?appid=<AppId>, pushId = <pushid>, destination = <pin>, result code = 1000>
SCM, Push notification failed with error:net.rim.shared.command.f: could not connect to https://<server dns name>:<port>/webApp/notification?appid=<AppId>>
I can access the URL from my PC with a browser and also local on the BES (the application server runs on the BES server, so it should be found and able to connect). When I directly enter the URL (copy it from the log) I got a 500 Error, saying "java.lang.IllegalArgumentException: Push Id was null.". I think this is OK, because that would be contained in the headers or post data (headers I think, because we use 5.0 rim push).
My question is: Why can't the BES connect to my notification URL? Is HTTPS not possible?
For our application this is a major problem, because we want to use reliable push and depend on the confirmation by the device.
Edit: Also the IP 127.0.0.1 isn't working as notification URL
Solved! Go to Solution.
02-21-2011 11:44 AM
I now changed to plain HTTP for testing... And it works! But this is not possible for production.
Why is the HTTPS connection refused? Must the certificate be trusted (in the JVM keystore) or is HTTPS just not possible?
Will try some other things, but it would be nice to know what I'm doing wrong
02-22-2011 05:02 AM - edited 02-22-2011 05:03 AM
Yes, I set the port (it's not the default port). The problem was the certificate. After adding our certificate to the MDS the notification arrived successfully per HTTPS. It would have been nice if the error message in the MDS log has stated why the connection failed.
Solution: You need to import your https certificate into the Java keystore used by the MDS Connection Service as described here: