2010-11-09 18 views
0

Je peux me connecter à un service Web et télécharger les données à l'aide de divers périphériques, tels que BlackBerry 9000 avec OS 4.6 ou supérieur.Problème de connexion à BlackBerry 8330

Cependant, avec le 8330 et OS 4.5.0.77, cela ne fonctionne pas. Je n'ai pas essayé ce code sur tous les appareils plus anciens que le 8330 avec 4.5.0.77. Sur le 8330 il se bloque sur la ligne resultObj = op.invoke(inputObject); dans l'appel de service Web JSR172. C'est après avoir réussi le premier appel webservice - il se bloque sur le second.

Il y a en fait deux webservices:

  1. webservice utilisé pour l'authentification.
  2. Webservice utilisé pour télécharger toutes les informations.

choses que j'ai essayé jusqu'ici:

  1. Essuyant l'appareil - n'a rien
  2. Raccordement de l'appareil à Eclipse pour voir ce qui se passe - n'a rien trouvé utile
  3. Exécution du code sur un simulateur 8330 avec 4.5 (MDS en cours d'exécution) - fonctionne parfaitement sans aucun problème

Est-ce que quelqu'un sait comment résoudre ce problème?

Voici comment je construis ma chaîne de connexion:

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 }; 

Répondre

0

j'ai pu résoudre ce problème en allant à ~ morceaux de 50K pour les données. Je suis heureux d'aider toute personne qui a un problème similaire.