Я могу подключиться к веб-сервису и загрузить данные с помощью различных устройств, таких как BlackBerry 9000 с ОС 4.6 или выше.
Однако с 8330 и ОС 4.5.0.77 это не работает.Я не пробовал этот код на устройствах старше 8330 с 4.5.0.77.На 8330 он висит на линии resultObj = op.invoke(inputObject);
в вызове веб-службы JSR172.Это после успешного выполнения первого вызова веб-службы - он зависает на втором.
На самом деле существует два веб-службы:
- Веб-служба, используемая для аутентификации.
- Веб-служба использовала для загрузки всю информацию.
То, что я до сих пор пробовал:
- Стирание устройства - ничего не делалось
- Подключение устройствав Eclipse, чтобы увидеть, что происходит - не нашел ничего полезного
- Запуск кода на симуляторе 8330 с 4.5 (MDS работает) - работает без нареканий без проблем
Кто-нибудь знает, как решить эту проблему?
Вот как я строю строку подключения:
String webserviceURL = developmentUrl;
// if it is simulator then force the network that is available on
// the PC
if (DeviceInfo.isSimulator()) {
webserviceURL += ";deviceside=true";
} else if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS) {
// go through MDS
webserviceURL += ";deviceside=false";
}
// else if ((CoverageInfo.getCoverageStatus() &
// CoverageInfo.COVERAGE_CARRIER) == CoverageInfo.COVERAGE_CARRIER)
// {
// webserviceURL += "'deviceside=true";// go direct
// }
// check if the wifi is available and change the url to use the wifi
// signal
if ((RadioInfo.getActiveWAFs() & RadioInfo.WAF_WLAN) != 0)
// check for carrier
{
if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED)
// check for wifi
{
// WebService URL when the app is being used in the
// actual device
webserviceURL = webserviceURL + ";interface=wifi";
}
}
// WebService URL when the app is being used in the actual device
_propertyValues = new Object[] { webserviceURL };