Problema grave: RepositoryServiceSoapBindingStub con Alfresco 5.0?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 03:40 AM
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
- Labels:
-
Archive
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 03:53 AM
Puedes utilizar SOAP con la API CMIS (eligiendo el binding SOAP), pero implicará rehacer el código. Si vais a rehacerlo, creo que la mejor opción sería usar la API CMIS pero con el binding Atom (para hacer la comunicación más eficiente).

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 05:17 AM
A ver, calma, he visto la luz. Una duda al respecto… En la wiki de alfresco pone:
<blockcode>
Please note that this API has been superceded by CMIS (specifically, the CMIS SOAP binding).
It's use is no longer recommended. This functionality was removed from Alfresco in 5.0.b.
Please also note that the endpoint for soap web services was moved for alfresco 4.2.d. To make way for the public api.
Now instead of being http://localhost:8080/alfresco/api the soap services resides at http://localhost:8080/alfresco/soapapi.
This API was removed in Alfresco 5.0 and is no longer available. Use the CMIS web services bindings instead.
</blockcode>
Entiendo entonces que la API desaparece a partir de la 5.0, y en la 4.2d aún se pueden encontrar los webservice aunque cambiando /alfresco/api por /alfresco/soapapi. Lo digo porque como posible solución, podríamos usar Alfresco 4.2d. Al menos de momento. Y seguirían funcionando los webservice sin cambiar código. Y la funcionalidad de poder buscar en BD sin pasar por SOLR (Transactional queries), que es la que nos interesaba sobretodo, creo que también está en la 4.2.d.
Como diferencias entre 4.2d y la 5.0 (no a nivel de share sino de desarrollo, ya que el share no lo usamos) veo que la principal es el uso de SOLR en lugar de Lucene. No sé si en cuanto a rendimiento se han hecho grandes mejoras. Usar 4.2d podría ser una solución (venimos de la 4.1.6).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 05:43 AM
La API SOAP CMIS no tiene nada que ver con la SOAP API que estáis usando, por eso te sugería cambiarte a CMIS Atom.
En cuanto a las más importantes diferencias entre la 4.2.d y la 5.0 destaca el paso de SOLR1 a SOLR4. También incluye un montón de mejoras en el interfaz de Alfresco Share (aikau, PDF.js, búsqueda facetada, sugerencias de búsqueda…) pero si no lo usáis, no debería influir en la decisión. Creo que, en efecto, la 4.2.d era la primera que incluía las Transactional Queries.
También hay que notar que la 4.2.d fue una versión efímera (duró apenas mes y medio), ya que fue rápidamente sustituida por la 4.2.e. Así que estaríais usando una versión "rara".
Finalmente, en cuanto a rendimiento del repo, no hay diferencias notables entre la 4.1.6 y la 4.2.d

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 08:57 AM
Entre la 4.1.6 y la 4.2.d indicabas que no hay mucha diferencia de rendimiento. Entre la 4.2 y la 5.0 (debido imagino al cambio a SOLR4) supongo que sí encontraría diferencias de rendimiento, no sé si notables o no.
Por cierto, buscando hasta que versión de la 4.2 hay cliente webservice, he encontrado este link:
https://maven.alfresco.com/nexus/content/groups/public/org/alfresco/alfresco-web-service-client/5.0....
La 5.0.a! Eso sí, compilado con la Java 7.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 09:15 AM
Aunque también deberías pensar que algún día deberías cambiar tus integraciones a CMIS: quizá no sea demasiado complicado hacer un wrapper para los objetos clientes de SOAP y traducir las invocaciones a CMIS.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 11:32 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-10-2015 11:43 AM
El servidor SOAP solo está hasta la 5.0.a, así que si usas el cliente con una versión superior de Alfresco encontrarás el servidor vacío.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-15-2015 02:52 AM
https://www.alfresco.com/services/subscription/technical-support/product-support-status
Concretamente, indica ésto sobre las últimas releases:
Product - Support Status - First Release - Deprecation - End of Maintenance
Alfresco Version 5.x - Full Support - 3rd Dec 2014 - TBA - TBA
Alfresco Version 4.2.5 - Full Support - 25th Nov 2015 - TBA - TBA
Alfresco Version 4.x (excluding 4.2.5) - Limited Support - 31st Jan 2012 - 3rd Dec 2014 - TBA
Alfresco Version 3.4.14 - Limited Support - 21st Jan 2011 - 3rd Dec 2014 - TBA
(TBA es To Be Announced)
Veo que para versiones community se emplean letras y para las enterprise números. Nosotros tenemos la enterprise. La 4.2.5 equivale a la 4.2.f de la que hablábamos como la última y más estable? Es decir, la "a" comienza con el "0"? Imagino que sí, ya que entiendo que el soporte especial que se indica en la tabla (segunda fila) debe corresponder a la última versión, que se alarga más su deprecation date por ser la última y más estable. Pero por confirmarlo seguro.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-15-2015 03:37 AM
