cancel
Showing results for 
Search instead for 
Did you mean: 

Problema grave: RepositoryServiceSoapBindingStub con Alfresco 5.0?

spilby
Confirmed Champ
Confirmed Champ
Buenos días,

me encuentro con un problema muy grave. Hemos cambiado a Alfresco 5.0, hemos hecho cambio en el modelo, añadido behaviors, aspectos y varias cosas más. Tenemos unos webscripts que hemos actualizado, y de momento todo bien sin problemas.

Llega el momento de probar una aplicación java que tenemos, que usa las librerias alfresco-webservice-client-2.1.jar. Nos autenticamos de la siguiente manera:


WebServiceFactory.setEndpointAddress(endPoint);
AuthenticationResult result = WebServiceFactory.getAuthenticationService().startSession(username, password);


Pero para la url que empleamos (/alfresco/api) no conecta, y devuelve un org.alfresco.webservice.util.WebServiceException: Error starting session.

Empiezo a leer y veo que desde la 5.0 esa url se emplea sólo para los servicios REST. Y me ha parecido entender que ya no se pueden usar los webservice-client. ¿Es realmente así?

Al trabajar con los nodos hacemos cosas como…


RepositoryServiceSoapBindingStub repositoryService = SessionManager.getRepositoryService(sessionId);
Predicate pred = new Predicate();
pred.setNodes(new Reference[] { new Reference(STORE, null, alfPath) });
node = repositoryService.get(pred);


Ya no sirve nada de esto?? O sólo la autenticación??

No sé si hemos de rehacerlo TODO o es simplemente un cambio de librería o url, porque de tener que cambiarlo todo va a ser un gran problema de tiempo! ¿Me podría aclarar alguien qué cambios implica en este sentido usar la 5.0, por favor?

Muchísimas gracias

14 REPLIES 14

Oks, en ese caso instalaremos la 4.2.5 de la enterprise, que es la última por lo que veo. Si supieras de algun problema con esa versión, encantado de saberlo.

Entiendo que todo lo que hablamos de la 4.2.f (acceso a BD sin pasar por SOLR, acceso a los webservices) lo lleva la 4.2.5.

Y una duda también… Para usar los webservices en la 4.2.5 enterprise, ¿he de usar la libreria alfresco-web-service-client-4.2.f? Al llevar una "f" ya no tengo claro si está pensando para la community o no tiene nada que ver.

angelborroy
Community Manager Community Manager
Community Manager
En el portal de soporte de Alfresco tienes la última versión disponible de la 4.2 (denominada 4.2.5.1) con todas las funcionalidades de la 4.2.f

También tienes el cliente de webservices: "4.2.5.1 Alfresco web service client zip package"

Supongo que el de la Community funcionará, pero siempre es mejor utilizar la distribución oficial.
Hyland Developer Evangelist

spilby
Confirmed Champ
Confirmed Champ
Oks, perfecto Ángel, buscaré esa versión entonces.

Nuestra idea es migrar a esa versión y poco a poco ir pasando las llamadas webservices a servicios rest. Y cuando los tengamos todos migrados, que nos llevará un tiempo, pasar a la Alfresco 5.0, que ya no requerirá ningun cambio de desarrollo y debería ser rápido y transparente cuando lo hagamos.

angelborroy
Community Manager Community Manager
Community Manager
Parece un buen plan, aunque como decía anteriormente y, ya que os ponéis, yo cambiaría a llamadas CMIS AtomPub en vez de a la API REST.
Hyland Developer Evangelist

Bueno, es que en realidad no usaremos la API Rest concretamente, me he expresado mal por querer simplificar.

Lo que haremos son llamadas REST a los webscripts propios que hice en su día, y a algunos nuevos que serán los que iremos haciendo a medida que migremos las antiguas llamadas a webservices.

Así, ya que cada operación implica una lógica de negocio (propiedades que se actualizan en el árbol, permisos que mirar, y otras cosas), en lugar de hacer N llamadas a la API desde la aplicación java, haremos una sola y que sean nuestros java backed webscripts quienes hagan el trabajo y respondan. De esta manera creo que será mas eficiente para nuestro modelo.

De todas formas, si necesitamos hacer alguna operación aislada, tendré en cuenta usar CMIS Atom en lugar de rest si así me lo recomiendas.