Bonjour,

Je ne sais pas trop à quel niveau se situe mon problème alors je l'ai posté dans cette catégorie. Excusez-moi par avance si je me suis trompé.

Je développe actuellement une application en J2ME CDC et j'ai quelques difficultés à appeler des web services. Ces web services sont fournis par JBoss. L'application est à destination d'un Windows CE 5.0 sur lequel j'ai installé la JVM NSIcom CrE-Me.

Le problème :
Lorsque j'appelle un web service, mon programme bloque pendant exactement 20 secondes sur l'instruction appelant ce web service. Visiblement cet intervalle de 20 secondes correspond au timeout du serveur JBoss puisqu'en changeant cette valeur à 10 secondes, mon programme bloque pendant 10 secondes sur l'instruction en question. J'ai analysé les trames entrantes et sortantes de l'appareil embarquant Windows CE, et apparemment ce qui pose problème c'est une demande de clôture de session TCP que mon appareil n'envoie pas.

Voici les trames entrantes et sortantes de l'appareil embarquant Windows CE (192.168.0.66 : Windows CE ; 192.168.0.40 : serveur JBoss) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
No.     Time        Source                Destination           Protocol Info                                                                                        Remarques
      1 0.000000    SymbolTe_9c:15:0f     Broadcast             ARP      Who has 192.168.0.40?  Tell 192.168.0.66
      2 0.000000    Micro-St_75:f3:fd     SymbolTe_9c:15:0f     ARP      192.168.0.40 is at 00:1d:92:75:f3:fd
      3 0.000000    192.168.0.66          192.168.0.40          TCP      nim > http-alt [SYN] Seq=0 Win=32768 Len=0 MSS=1460                                         --> Etablissement de la connexion TCP <--
      4 0.000000    192.168.0.40          192.168.0.66          TCP      http-alt > nim [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460                               --> Etablissement de la connexion TCP <--
      5 0.000000    192.168.0.66          192.168.0.40          TCP      nim > http-alt [ACK] Seq=1 Ack=1 Win=33580 Len=0                                            --> Etablissement de la connexion TCP <--
      6 0.000000    192.168.0.66          192.168.0.40          HTTP     POST /keyshoppingmiddle/services/referentiel HTTP/1.1 Continuation or non-HTTP traffic      --> Appel du web service par le client <--
      7 0.000000    192.168.0.40          192.168.0.66          TCP      http-alt > nim [ACK] Seq=1 Ack=720 Win=7190 Len=0                                           --> Acquittement du serveur JBoss <--
      8 0.000000    192.168.0.40          192.168.0.66          HTTP     HTTP/1.1 200 OK                                                                             --> Réponse du serveur : flux XML contenant les informations que le client a demandé <--
      9 0.951424    192.168.0.66          192.168.0.40          TCP      nim > http-alt [ACK] Seq=720 Ack=511 Win=33070 Len=0                                        --> Acquittement du client <--
     10 20.077056   192.168.0.40          192.168.0.66          TCP      http-alt > nim [FIN, ACK] Seq=511 Ack=720 Win=7190 Len=0                                    --> Timeout du serveur JBoss : demande de fin de la connexion TCP <--
     11 20.077056   192.168.0.66          192.168.0.40          TCP      nim > http-alt [ACK] Seq=720 Ack=512 Win=33070 Len=0                                        --> Acquittement de la demande de fin de connexion TCP <--
     12 21.028480   192.168.0.66          192.168.0.40          TCP      nim > http-alt [FIN, ACK] Seq=720 Ack=512 Win=33070 Len=0                                   --> Demande de fin de connexion TCP de la part du client <-- 
     13 21.028480   192.168.0.40          192.168.0.66          TCP      http-alt > nim [ACK] Seq=512 Ack=721 Win=7190 Len=0                                         --> Acquittement de la demande de fin de connexion TCP <--

A priori, le problème se situe au niveau de mon client, mais je sais pas à quel niveau :
- La librairie de connexion que j'utilise ne gère pas correctement les sessions TCP ?
- Windows CE 5.0 gère-t-il mal la pile TCP ?
- Aurais-je omis quelque chose dans mon programme ?

Avez-vous une piste ?

Merci d'avance.