2010-04-27 7 views
0

J'utilise Net Beans pour développer une application sur S60. J'ai fait une page pour l'authentification de l'utilisateur et en utilisant le service .net wcf pour authentifier l'utilisateur. Je suis en mesure d'envoyer des données sur le service .net par la méthode HttpGet mais pas en mesure d'obtenir une réponse sur la page java.Impossible d'obtenir une réponse sur le code java lorsque http obtient avec S60

Je l'ai testé sur fiddler avec cette url il fonctionne bien et retourne le code de réponse 200, mais n'obtient pas le code de réponse par le code java. Code suivant que j'utilise. Est-ce que quelque chose ne va pas ici?

httpConn = (HttpConnection)Connector.open(url); 
httpConn.setRequestMethod(HttpConnection.GET); 
httpConn.setRequestProperty("User-Agent", 
"Profile/MIDP-2.1 Confirguration/CLDC-1.1"); 

int respCode = httpConn.getResponseCode(); 
+0

Voulez-vous dire que getResponseCode() ne retourne jamais? –

+0

Je ne suis pas en mesure de reprendre le contrôle sur la ligne "int respCode = httpConn.getResponseCode();" du serveur Web. – Rishabh

+0

pouvez-vous toujours exécuter un thread java complètement séparé tandis que getResponseCode() est bloqué? quelque chose qui n'utilise aucune sorte d'API GCF. mettre à jour un Canvas sur l'écran ou un RecordStore. –

Répondre

0

essayer agent utilisateur "Profil/MIDP-2.1 Configuration/CLDC-1.1"

+0

J'ai déjà essayé par cela mais ne fonctionne pas encore. – Rishabh

+0

c'est juste une demande get http. Je vais vous suggérer d'utiliser cette URL sur votre navigateur Web mobile et voir le résultat. Parfois, dans les organisations, l'administrateur bloque les demandes des autres agents utilisateurs. – Vivart

+0

S'il vous plaît donnez-moi l'url où je peux obtenir la réponse du serveur iis. – Rishabh

-1

Probablement à cause de délai trop court? Essayez ceci ...

URL url = new URL("http://www.google.com"); 
URLConnection conn = url.openConnection(); 
conn.setConnectTimeout(20 * 1000); // 20 seconds connect timeout 
conn.setReadTimeout(60 * 1000 * 1); // 1 minute read timeout 

// read response 
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
String resp; 

while ((resp = in.readLine()) != null) { // log response 
    System.out.println(resp); 
} 

in.close(); 
+1

Salut Rosdi, j'utilise j2me donc sa classe URLConnection ne supporte pas. Est-il possible d'augmenter le temps de connexion avec la classe HttpConnection que j'utilise. – Rishabh

+0

'HttpURLConnection' est une sous-classe de' URLConnection'. Devrait pouvoir utiliser 'setConnectTimeout (..)' et 'setReadTimeout (..)'. Mais je n'ai jamais programmé sur j2me donc je devine juste. –

+0

@Rishabh, je viens de vérifier, vous ne pouvez pas définir de délai d'attente en j2me. Donc, votre problème n'est pas à cause du délai d'attente. Je vous suggère de changer votre URL pour google.com ou quelque chose comme ça pour voir si le code peut réellement passer en revue. –