public static StreamConnection getConnectionForRequest(String url) { final ConnectionFactory connectionFactory = new ConnectionFactory(); // Remove any transports that are not currently available. if (isTransportManaged == false) { for (int i = 0; i < availableTransportTypes.length; i++) { int transport = availableTransportTypes[i]; if (!TransportInfo.isTransportTypeAvailable(transport) || !TransportInfo.hasSufficientCoverage(transport)) { Arrays.removeAt(availableTransportTypes, i); } } isTransportManaged = true; } connectionFactory.setPreferredTransportTypes(availableTransportTypes); final ConnectionDescriptor connectionDescriptor = connectionFactory.getConnection(url); StreamConnection connection = null; if (connectionDescriptor != null) { // connection suceeded int transportUsed = connectionDescriptor.getTransportDescriptor().getTransportType(); System.out.println("Transport type used: " + Integer.toString(transportUsed)); connection = (StreamConnection) connectionDescriptor.getConnection(); } return connection; }