Java applications on BlackBerry handhelds can connect directly to the Internet and/or the corporate Intranet, depending on what gateway the application chooses to use. There is a security policy built into the BlackBerry system software that eliminates the risk of an application connecting to a corporate network via the BlackBerry Enterprise Server's Mobile Data Service (MDS), then to the public Internet via a public gateway (such as a carrier-hosted WAP or IP Gateway). The idea of an application connecting to both a public and private network is called a "split pipe".
BlackBerry handhelds include an "IT Policy" that eliminates the possibility of a "split pipe" connection. Once an application has attempted a connection to MDS, it is flagged by the system and can no longer use a public gateway (even if the app is reloaded). Therefore, you will get this error message if your application has tried to establish a connection to MDS at any point in the past, and then tried to connect to a public gateway (even if the application tried unsuccessfully to connect MDS, then to a public gateway).
The best way to resolve this issue is to ensure that your application is only trying to communicate with one type of gateway (MDS or a public gateway). Once you have changed your application to behave in this way, you will have to reload your handheld code as well as the application (to clear all system flags indicating that this application attempted both connections). To reload your BlackBerry handheld code, follow these steps:
Launch the BlackBerry Desktop Manager & connect your handheld to the PC
Double-click "Application Loader"
Press the 'Advanced' button
Check off the box to Remove All Applications and continue
Once this is complete, you can load the system software again, then your application.
Alternatively, if you are running BlackBerry Enterprise Server for Exchange v3.6 or higher, or BlackBerry Enterprise Server for Lotus Domino v2.2, then you can turn off the offending IT Policy to allow your application to establish both public and private network connections. Refer to BlackBerry Enterprise Server guides for more information on enabling the "ALLOW_SPLIT_PIPE_CONNECTIONS" IT Policy for your handhelds.
The possible types of public and private gateways, as well as the conditions under which an application will use them, is described below:
Gateway: BlackBerry Enterprise Server's Mobile Data Service (MDS)
Network Type: Private
When will the Handheld Attempt to Use This? For all handhelds, with the exception of BlackBerry handhelds on the iDEN™ network running 3.6 code or greater, an MDS connection will be invoked by the application when standard URL formats are used. For example:
For BlackBerry handhelds on the iDEN™ network handhelds running 3.6 or greater handheld code, an MDS connection will be attempted when the 'deviceside' parameter is added to the URL and set to 'false'. For example:
When will the Handheld Attempt to Use This? BlackBerry handhelds on the iDEN™ network handhelds running version 3.6 code or later will attempt to connect to the carrier's public TCP/IP gateway when standard URL formats are used. For example:
//Uses public gateway only on carrier's network
Also, the carriers public gateway will be used when the 'deviceside' parameter is added to the URL and set to 'true'. For example:
For more information on the iDEN™ public TCP/IP gateway, refer to the document entitled "TCP/IP Support for the BlackBerry 6510 Wireless Handheld" found in the Documentation section of the Developer Zone.