IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

HttpClient - Problème de session


Sujet :

Développement Web en Java

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juin 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2008
    Messages : 30
    Points : 46
    Points
    46
    Par défaut HttpClient - Problème de session
    Bonsoir a tous,

    J'utilise HttpClient d'Apache pour faire passer facilement des types "multipart/form-data" en "POST".

    Très simplement j'envois une premiere série de paramètres (un fichier, et une taille) à une URL. Celle-ci me renvoit un identifiant (généré aléatoirement)

    Puis avec cette identifiant, je réenvois une autre série de paramètre (dont l'identifiant), qui doit me renvoyer un résultat final (un nombre).

    L'objet permettant cela :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    public class Connexion{
     
       HttpClient client;
     
       public Connexion(){
          client = new HttpClient();		
       }
     
     
    	public String getMultiPartPostMethod(Map parameters) throws IOException,HttpException{
    		Set paramSet = parameters.keySet();
    		Iterator paramIterator = paramSet.iterator();
    		MultipartPostMethod mPost = null;
    		try{
    			mPost = new MultipartPostMethod(URL);
    			mPost.setFollowRedirects(true);
       mPost.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
    			while(paramIterator.hasNext())
    			{
    				 String key = (String) paramIterator.next();
    				 if(key != VAR_FILE)
    					 mPost.addParameter(key, (String) parameters.get(key));
    				 else
    					 mPost.addParameter(key, (File) parameters.get(key));
    			}
    			int respCode = client.executeMethod(mPost);
    			if(respCode == HttpStatus.SC_OK){
    				String result = null;
    				StringTokenizer strTok = new StringTokenizer(mPost.getResponseBodyAsString(),"=");
    				while(strTok.hasMoreTokens())
    					result = strTok.nextToken();
    				return result;
    			}else{
    				throw new HttpException("ERROR to " + URL + ". Code Error " + respCode + " - Page Error " + mPost.getResponseBodyAsString());
    			}
    		}catch (IOException ioe){
    			ioe.printStackTrace();
    			throw ioe;
    		} finally{
    			if(mPost != null){
    				System.err.println("Release Connection");
    				mPost.releaseConnection();
     
    			}
    		}
    	}
    Donc d'une autre classe j'appelle 2 fois la méthode getMultiPartPostMethod

    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
    16
    17
    18
    19
    20
    21
    22
    public class MaClasse{
    
    
    public static void main(String[] args){
    
       Map parameters;
    
       // Mes traitements . . .
    
       Connexion con = new Connexion();
    
       Object object1 = con.getMultiPartPostMethod(parameters);
    
       Map secondParameters;
    
       // Mes traitements . . . DONT l'utilisation indispensable de l'object1
    
        Object object2 = con.getMultiPartPostMethod(secondParameters);
    
    }
    
    }

    Hors au lieu de recevoir un nombre, je recois une erreur comme quoi l'identifiant n'existe pas ...

    Après avoir vérifier sur le serveur, le fichier est bien uploadé, et le code bien généré, cependant je ne recois toujours pas de code.

    Il me faut récupérer l'object1, le sérialiser, arreter la JVM, relancer sans la première partie (récupération de l'object1), et j'obtiens finalement un object2 valide.

    La question, la voici

    Il me semble que HttpClient crée une seule connexion tout au long de la durée de vie de mon appli, mais que faut-il fermer/enlever pour que chaque connexion apparaisse comme une "nouvelle" connexion ?

    Si vous avez besoin de plus de précision a ce sujet n'hésiter pas, il me semble que je sois un confus

    Merci d'avance pour vos réponses

  2. #2
    Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juin 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2008
    Messages : 30
    Points : 46
    Points
    46
    Par défaut
    J'ai résolu mon problème ^^

    L'object1 contenait en sus un caractère de trop que j'avais "oublier" de traiter dans "Mes traitements"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. httpclient : Problème de cookie de session
    Par AlexKidd29 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 01/12/2011, 19h44
  2. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  3. HTTPClient problème session et cookie
    Par devilalex505 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 30/08/2011, 18h38
  4. problème de session en cours
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 14h36
  5. Gros problème de session/cookies
    Par valfredr dans le forum XMLRAD
    Réponses: 18
    Dernier message: 03/06/2004, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo