Creación masiva de usuarios

cancel
Showing results for 
Search instead for 
Did you mean: 
ironrage
Member II

Creación masiva de usuarios

Buenas tardes a todos,

A ver si alguien puede ayudarme que me estoy tirando de los pelos!!!
Estoy desarrollando una aplicación para crear 2500 usuarios. He buscado a conciencia y siguiendo este hilo http://forums.alfresco.com/es/viewtopic.php?f=6&t=711&start=20 he modificado la aplicación (que en esencia es la misma) para que lea los datos de un access. El problema viene que cuando hago la autenticanción con el webservice me da el siguiente error
Exception in thread "main" org.alfresco.webservice.util.WebServiceException: Error starting session.
   at org.alfresco.webservice.util.AuthenticationUtils.startSession(AuthenticationUtils.java:88)
   at com.alfresco.users.AddUsers.Conexion(AddUsers.java:88)
   at com.alfresco.users.AddUsers.main(AddUsers.java:33)
Caused by: (404)No Encontrado
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
   at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
   at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
   at org.apache.axis.client.Call.invoke(Call.java:2767)
   at org.apache.axis.client.Call.invoke(Call.java:2443)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at org.alfresco.webservice.authentication.AuthenticationServiceSoapBindingStub.startSession(AuthenticationServiceSoapBindingStub.java:187)
   at org.alfresco.webservice.util.AuthenticationUtils.startSession(AuthenticationUtils.java:73)

Depurando código he llegado a la clase AuthenticationServiceSoapBindingStub donde monta el siguiente código

public org.alfresco.webservice.authentication.AuthenticationResult startSession(java.lang.String username, java.lang.String password) throws java.rmi.RemoteException, org.alfresco.webservice.authentication.AuthenticationFault {
        if (super.cachedEndpoint == null) {
            throw new org.apache.axis.NoEndPointException();
        }
        org.apache.axis.client.Call _call = createCall();
        _call.setOperation(_operations[0]);
        _call.setUseSOAPAction(true);
        _call.setSOAPActionURI("http://www.alfresco.org/ws/service/authentication/1.0/startSession");
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
        _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("http://www.alfresco.org/ws/service/authentication/1.0", "startSession"));

        setRequestHeaders(_call);
setAttachments(_call);
try {        java.lang.Object _resp = _call.invoke(new java.lang.Object[] {username, password});
donde al hacer el el _call.invoke(…)lanza la excepcion que pongo arriba.
He comprobado que estan el servicio de alfresco levantado, etc etc etc.

A ver si alguien puede darme un poquito de luz por que ya no se por donde seguir. Por cierto estoy con Alfresco 3.4C

Saludos a todos!
2 Replies
ironrage
Member II

Re: Creación masiva de usuarios

Ya me contesto yo solo!, y para que quede constancia para posibles problemas a otros foreros ahí va la solución,

No se por que cuando invoco al WebServiceFactory para definir el host llamando al método setEndpointAddress(String endPointAddress) donde en el parametro de llamada pongo http://localhost:8080/alfresco/api, el lo cambia por http://localhost:8080/contentspace/api. No tengo ni idea de donde lo hace, por que en la invocacion del métido está correcto pero dentro del método ya está cambiado ¿?

Pero bueno solución para salir del paso, modifica el método setEndpointAddress(String endPointAddress)  para hacer una sustitución del string y punto. No es muy elegante pero permite continuar
public static void setEndpointAddress(String endPointAddress) 
    {
       WebServiceFactory.endPointAddress = endPointAddress.replace("contentspace", "alfresco");
    }

Saludos
czela
Member II

Re: Creación masiva de usuarios

Hola IronRage, queria saber si encontraste una solucion sin necesidad de sobreescribir el metodo??,  si no es asi puedes indicarme como lo sobreescribiste?? por que la clase WebServiceFactory es un "final", o te bajaste el codigo fuente del jar, porfa si te lo bajaste pasame el link, porque tambien tengo este error.

Gracias