cancel
Showing results for 
Search instead for 
Did you mean: 

ERROR: AuthenticationUtils.startSession

inma
Champ in-the-making
Champ in-the-making
Hola a todos!!
Estoy intentando hacer una llamada a un servicio web desde una jsp.
Cuando realizo la autenticación mediante  AuthenticationUtils.startSession("admin","admin") se produce un error con la siguiente traza:

org.alfresco.webservice.util.WebServiceException: Error starting session.

Caused by: java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl cannot be cast to org.apache.axis.attachments.Attachments
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
        at org.apache.axis.client.Call.invoke(Call.java:1828)
        at org.alfresco.webservice.authentication.AuthenticationServiceSoapBindingStub.startSession(AuthenticationServiceSoapBindingStub.java:187)
        at org.alfresco.webservice.util.AuthenticationUtils.startSession(AuthenticationUtils.java:73)
        … 195 more


¿alguien sabe por qué me puede estar pasando esto y como lo puedo solucionar???

Muchas gracias por anticipado!!
5 REPLIES 5

cybermakoki
Champ in-the-making
Champ in-the-making
Hola Inma,

Yo también estoy ahora con los webservices, te pego mi clase de login por si te sirve de utilidad:

public String login()
    {
       String outcome = null;
     
       try {
         
          HttpServletRequest req = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
          HttpSession sesion = req.getSession();
         
             // Start the session
         
            AuthenticationResult result = WebServiceClient.getAuthenticationService().startSession(usuario, password);
            AuthenticationDetails details = new AuthenticationDetails(result.getUsername(), result.getTicket(), result.getSessionid());
         
          AuthenticationUtils.setAuthenticationDetails(details);
          sesion.setAttribute("authenticationDetails", details);
          outcome = "success";
         
      } catch (AuthenticationFault e) {
         // TODO Auto-generated catch block
         Utils.addErrorMessage(ERROR_LOGIN_USUARIO);
         outcome= "fail";         
   
      }catch (AuthenticationException e) {
         // TODO Auto-generated catch block
         Utils.addErrorMessage(ERROR_LOGIN_USUARIO);
         outcome= "fail";         
         //e.printStackTrace();
      }catch (Exception e){
         Utils.addErrorMessage(ERROR_LOGIN_USUARIO);
         outcome = "fail";
      } 
      
      return outcome;
      
    }

inma
Champ in-the-making
Champ in-the-making
Hola!
Muchas gracias por tu respuesta.
He conseguido que me funcione perfectamente cuando realizo la llamada desde una clase java, pero cuando la realizo desde una jsp me sale ese mismo error.
¿alguien sabe como puedo solucionarlo??

Muchas gracias de nuevo!!!

cybermakoki
Champ in-the-making
Champ in-the-making
Porque lo haces desde una jsp? puedes pegar aqui el código?

inma
Champ in-the-making
Champ in-the-making
Hola,
es un desarrollo que me han dado y que tiene el acceso de la sesión desde la jsp. Si puede ser no debería cambiarlo, aunque ahora no me funciona.

Te pego el trozo que provoca la excepción:

<%@ page import="org.alfresco.webservice.util.WebServiceFactory" %>
<%@ page import="org.alfresco.webservice.util.AuthenticationUtils" %>

<%
WebServiceFactory.setEndpointAddress(endPoint+"/api");
AuthenticationUtils.startSession(user, password);

Al realizar el startSession de este modo me devuelve la excepción del ClassCastException.

Muchas gracias!!

inma
Champ in-the-making
Champ in-the-making
Hola a todos!
al final he decidido modificarlo para realizar la conexión desde la clase java siempre por que por algún motivo que no consigo ver desde la jsp no funciona. Por tanto solucionado el problema.

Muchas gracias por las respuestas!!!