AnsweredAssumed Answered

J'ai créé une appli web en struts qui utilise les...

Question asked by dewi on Jul 25, 2007
Latest reply on Aug 2, 2007 by dewi
Bonjour,

J'ai créé une appli web en struts qui utilise les web services d'alfresco. Je me suis basé sur les exemples SDK pour la réaliser. Mais il y a quelques points bscurs pour moi, concernant la notion de ticket.

- J'ai créé la page de connexion. Dans mon code Java:
AuthenticationUtils.startSession(lgn, psw);
- Dans mon appli, je navigue, fait des recherches et autres choses, quand parfois cela me donne une erruer comme celle ci:
WSDoAllSender: password callback failed; nested exception is:
   org.alfresco.webservice.util.WebServiceException: Ticket could not be found when calling callback handler.
- j'ai donc cherché un peu comment faire une connexion plus propre. Sur le forum officiel, je trouve le post: http://forums.alfresco.com/viewtopic.php?t=7195&highlight=ticket qui me renvoie sur la page du wiki suivante: http://wiki.alfresco.com/wiki/Web_Service_Samples_for_Java
- Mon anglais étant très moyen, il y a plusieurs questions que je me pose:

Doit-on utiliser le code donné sur le wik lors de chaque appel à un web service ?:
// Get a reference to the
   AuthenticationServiceSoapBindingStub authenticationService =
      (AuthenticationServiceSoapBindingStub) new AuthenticationServiceLocator()
      .getAuthenticationService();
       
   // Start the session
   AuthenticationResult result = authenticationService
                                 .startSession(userName, password);
   String ticket = result.getTicket();


// business à faire


// End the session
   authenticationService.endSession(ticket);
Car dans ce cas je dois toujours garder quelque part le username et password pour appeler "authenticationService.startSession(userName, password);"

Et 2eme question: comment savoir quand utiliser
AuthenticationUtils.startSession(lgn, psw);
ou
AuthenticationResult result = authenticationService
                                 .startSession(userName, password);
   String ticket = result.getTicket();
?

Merci pour l'aide :)

Outcomes