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

Servlets/JSP Java Discussion :

Test de service et de session utilisateur


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 135
    Points : 46
    Points
    46
    Par défaut Test de service et de session utilisateur
    Bonjour,

    Pour des problèmes de temps et d'argent, nous avons développé un API webservices (sans utilisation d' AXIS) en version ligth.

    Il y a un service d'authentification, de restitution d'xml.
    le service d'authentification est accessible depuis l'adresse http://localhost:7008/metier/authentification
    et l'autre
    http://localhost:7008/metier/df/getListByCriteria.

    La partie serveur est développé sans aucune IHM car on considère que les gens qui veulent accéder à un service le feront par un programme sans passer par IE.

    La première phase de connexion est la phase d'authentification s'il existe en utilisateur on le met en session, la deuxième phase est la demande de restitution d'un xml à condition qu'il existe un utilisateur en session.

    Le problème que je rencontre est que je n'arrive pas à tester si l'utilisateur est en session.

    Voici comment je teste :
    authentification
    <code>
    // Create socket
    URL url = new URL("http://localhost:7008/metiers/authentification");
    debug("Port " + url.getPort());
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);

    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
    out.write(dataLogin);
    out.close();

    debug("Le message va être posté");


    String result = IOUtils.toString(conn.getInputStream());
    debug("Reponse " + result);
    </code>

    restitution:
    <code>
    URL url = new URL("http://localhost:7008/metiers/restitution/getListByCriteria");
    debug("Port " + url.getPort());
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);

    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
    out.write(dataGetListRestit);
    out.close();

    debug("Le message va être posté");

    // lecture de la réponse
    String result = IOUtils.toString(conn.getInputStream());
    debug("Reponse " + result);
    </code>

    Comme vous pouvez le voir j'ouvre une connexion avec UrlConnection pour le service 1 mais pour le service 2 j'ouvre une autre je n'ai pas la possibilité de faire un redirection d'url et donc de garder la notion de session. Donc je ne peux tester si l'utilisateur est toujours en session avant qu'il accède xml.

    Je pense que le problème vient de ma manière de faire mais je n'en vois pas d'autres.

    Avez vous une solution pour moi?

  2. #2
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    Je sais pas si ça marche mais tu peux tester ça pour récupérer le sessionID de la première connexion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String key ="";
    String sessionID = null;
    for (int i = 1;(key = conn.getHeaderFieldKey(i)) != null; i++)
    				  {
    					  if (key.equalsIgnoreCase("set-cookie"))
    					  {
    						  sessionID = conn.getHeaderField(key);
    						  sessionID = id.substring(0, id.indexOf(";"));
    					  }	//if
    				  }	//for
    et te débrouiller pour le faire parvenir jusqu'à la deuxieme connexion en lui transmettant comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		      conn .setRequestProperty("Cookie", sessionID );
    		      conn .connect();
    Encore une fois c'est pas etsté de bout en bout mais ça me semble une bonne piste
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

Discussions similaires

  1. Réponses: 8
    Dernier message: 30/03/2015, 08h49
  2. nom session utilisateur Windows
    Par snipes dans le forum Applets
    Réponses: 3
    Dernier message: 21/04/2006, 14h22
  3. Nom session utilisateur windows
    Par snipes dans le forum Windows
    Réponses: 1
    Dernier message: 20/04/2006, 16h17
  4. Liste session utilisateur
    Par trax44 dans le forum Langage
    Réponses: 1
    Dernier message: 18/04/2006, 12h42
  5. Test de la presence d'un utilisateur
    Par CriPpLe dans le forum Linux
    Réponses: 2
    Dernier message: 26/11/2005, 14h58

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