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

Responder a