Gracias Jose, la transacción CSW funciona correctamente. Ya no se pierden los permisos al actualizar ni falla si existen valoraciones del metadato.
Saludos. On Mon, 8 Oct 2018 at 12:50, Jose Garcia <jose.gar...@geocat.net> wrote: > Hola Cesar > > También podrías usar CSW Transaction, utilizando el end-point > /csw-publication. Puedes mandar en una operación Update el xml actualizado. > > En el manual de 2.10 hay un ejemplo: > https://geonetwork-opensource.org/manuals/2.10.4/eng/developer/xml_services/csw_services.html#update-operation-example, > es similar para 3.4.x, posiblemente requiriendo el XSRF-TOKEN. > > Saludos, > Jose García > > On Mon, Oct 8, 2018 at 12:35 PM César Martínez Izquierdo < > cesar....@gmail.com> wrote: > >> Gracias por la ayuda María. He conseguido actualizar el registro >> usando el endpoint que comentabas, pero por desgracia se pierden los >> permisos existentes del metadato al hacerlo. >> >> Además, si el metadato tiene alguna valoración, la actualización falla >> ("ould not execute statement; SQL [n/a]; constraint [null]; nested >> exception is org.hibernate.exception.ConstraintViolationException: >> could not execute statement"). Supongo que internamente hace un >> borrado y una inserción, y el borrado falla si tiene alguna clave >> ajena referenciando al metadato. >> >> Como referencia, dejo aquí el comando de curl para hacer la >> actualización, ya que no me ha funcionado a través de Swagger UI y me >> ha dado un poco de guerra dar con la manera exacta de hacer el POST: >> >> curl -X POST " >> https://yourserver.com/geonetwork/srv/api/0.1/records?metadataType=METADATA&uuidProcessing=OVERWRITE&rejectIfInvalid=false&publishToAll=false&assignToCatalog=true&transformWith=_none_ >> " >> -H "accept: application/json" -H 'X-XSRF-TOKEN: thexsrftoken' -H >> 'Cookie: XSRF-TOKEN=thexsrftoken; JSESSIONID=thejsessionid; >> csrftoken=thecsrftoken; sessionid=thesessionid; >> serverTime=1538991576293; sessionExpiry=1538993676293' -F >> "file=@/tmp/metadato.xml" >> >> Estaría genial crear un endpoint que hiciese una simple actualización >> del contenido del metadato, aunque supongo que debe tener más >> complejidad de la que parece a simple vista. >> >> Saludos, >> >> César >> >> On Mon, 8 Oct 2018 at 08:43, César Martínez Izquierdo >> <cesar....@gmail.com> wrote: >> > >> > ¡Hola! Supongo que sí, no había visto esa opción. >> > ¿Sabes si se conservan los permisos, rating, etc que tenía el >> > metadato previamente? >> > >> > Saludos, >> > >> > César >> > On Fri, 5 Oct 2018 at 22:10, María Arias de Reyna <dela...@gmail.com> >> wrote: >> > > >> > > Hola, >> > > >> > > ¿No te vale en la api el POST de /records con el parámetro >> uuidProcessing con overwrite? >> > > >> > > El vie., 5 oct. 2018 17:49, César Martínez Izquierdo < >> cesar....@gmail.com> escribió: >> > >> >> > >> Hola, >> > >> >> > >> Me gustaría actualizar registros de metadatos usando la nueva API de >> Geonetwork. >> > >> Mi intención es obtener el XML del metadato, actualizarlo con >> > >> herramientas externas y luego lanzar una petición de actualización >> > >> sobre el registro en Geonetwork. >> > >> >> > >> En la API antigua, había un servicio (xml.metadata.update) con este >> > >> propósito. En la nueva API veo que hay unas peticiones para obtener >> el >> > >> formulario de edición (GET /api/0.1/records/{metadataUuid}/editor) y >> > >> luego otra petición confirmar o cancelar los cambios (POST >> > >> /api/0.1/records/{metadataUuid}/editor y DELETE >> > >> /api/0.1/records/{metadataUuid}/editor, respectivamente). >> > >> >> > >> Sin embargo, viendo la documentación de la API y con las pruebas que >> > >> he hecho, esos end-points de la API esperan los parámetros del >> > >> formulario, no el XML actualizado. Es decir, no veo forma de hacer lo >> > >> que necesito. >> > >> >> > >> Entiendo que lo más lógico sería tener una operación >> > >> PUT /api/0.1/records/{metadataUuid} >> > >> para el update, pero no aparece en la documentación. >> > >> >> > >> Supongo que como último recurso puedo hacer la actualización por CSW, >> > >> pero me resisto a pensar que no haya una forma de hacerlo en la nueva >> > >> API. ¿Alguna idea? >> > >> >> > >> Saludos, >> > >> >> > >> César Martínez Izquierdo >> > >> >> > >> >> > >> -- >> > >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> > >> César Martínez Izquierdo >> > >> GIS developer >> > >> - - - - - - - - - - - - - - - - - - - - >> > >> SCOLAB: http://www.scolab.es >> > >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> > >> >> > >> >> > >> _______________________________________________ >> > >> GeoNetwork-usuarios-es mailing list >> > >> GeoNetwork-usuarios-es@lists.sourceforge.net >> > >> https://lists.sourceforge.net/lists/listinfo/geonetwork-usuarios-es >> > >> > >> > >> > -- >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> > César Martínez Izquierdo >> > GIS developer >> > - - - - - - - - - - - - - - - - - - - - >> > SCOLAB: http://www.scolab.es >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> >> >> >> -- >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> César Martínez Izquierdo >> GIS developer >> - - - - - - - - - - - - - - - - - - - - >> SCOLAB: http://www.scolab.es >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> >> >> _______________________________________________ >> GeoNetwork-usuarios-es mailing list >> GeoNetwork-usuarios-es@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/geonetwork-usuarios-es >> > > > -- > > > > > > > > > > > > > > *Vriendelijke groeten / Kind regards,Jose García > <http://www.geocat.net/>Veenderweg 136721 WD BennekomThe NetherlandsT: +31 > (0)318 416664 <+31318416664> <https://www.facebook.com/geocatbv> > <https://twitter.com/geocat_bv> > <https://plus.google.com/u/1/+GeocatNetbv/posts>Please consider the > environment before printing this email.* > -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - César Martínez Izquierdo GIS developer - - - - - - - - - - - - - - - - - - - - SCOLAB: http://www.scolab.es - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _______________________________________________ GeoNetwork-usuarios-es mailing list GeoNetwork-usuarios-es@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geonetwork-usuarios-es