11-30-2012 03:26 PM
I have developed an app under BlackBerry JRE v5.0.0
It uses http and sockets. It uses http to interact with a web service. It uses sockets to interact with some software on another server because that is a requirement of that software.
I've used the following devices for testing during development:
Bold 9700 OS v220.127.116.119, carrier AT&T
Curve 8350 OS v18.104.22.1683, carrier Verizon
Everything was working fine until someone tested with this device:
Curve 8530 OS v22.214.171.1248, carrier Verizon
Three times I've gotten "IOException:Tunnel failure" and once I've gotten "ForcedStackTraceException" although I suspect that has something to do with the tunnel failure.
In researching this I find there are different things to append (or not append) to the url based on the network connectivity of the device. Some of them appear to be mutually exclusive like you don't specify anything when using BIS, but WiFi is best used by appending "interface=wifi" and in many cases its best to include "deviceside=ide"
This all has me wondering if I need to code my app to detect the access method available (wifi via BES, BIS or neither) and build custom url's based on that information.
Everything I've read up until now lead me to believe "deviceside=ide" was the "lowest common denominator" and specifying it would allow me to work on the widest variety of devices. But now I'm unsure and seeking clarity with this post.
11-30-2012 05:24 PM
Never heard of "deviceside=ide", I thought the only supported ones were defined in this KB article:
But for JRE 5.0 and above, I recommend that you forget trying to figure this all out by yourself and instead use ConnectionFactory. Look at the API, if you have any problems working it out, come back to us.
If you do want to go to the trouble of coding your own extensions, then the code from here will help....