2013/7/22 María Arias de Reyna <dela...@gmail.com>:
> 2013/7/22 Alejandro Díaz <aled...@gmail.com>:
>> Buenas tardes,
>>
>
> Hola Ale,
>
>> estoy estudiando la integración de un proyecto con GeoNetwork.
>>
>> Se trata un geoportal compuesto por una interfaz web con Spring MVC que se
>> encarga de publicar capas en Geoserver (parte privada, de administración) y
>> se consumen desde un visor basado en OpenGeo SDK (parte pública).
>>
>> En el caso de la integración con Geoserver hemos utilizado el conector de
>> GeoSolutions: geoserver-manager[1] y pretendíamos hacer lo mismo con
>> geonetwork-manager[2] para la publicación de metadatos.
>>
>> Al lanzar los tests unitarios contra una instancia del último GeoNetwork
>> (v2.10), lanza la una excepción[3] y parece ser que se debe a un cambio en
>> el mecanismo de autenticación[4], por lo que la actual versión de
>> geonetwork-manager no es compatible.
>
> Efectivamente, ahora el login se hace por Spring. El proyecto que usas
> para conectarte a GeoNetwork parece un poco antiguo (seis meses
> parado), seguramente no sea compatible con las versiones 2.6 en
> adelante en muchas cosas.
>
>>
>> Lo he adaptado para que haga el login con el nuevo mecanismo[5], pero ahora
>> me devuelve un error al insertar el xml[6].
>>
>> Mi duda es: ¿el resto de la API es funcional? siguiendo la documentación
>> disponible[7] lo he probado con este cliente REST[8] y el resultado es el
>> mismo (adjunto la prueba[9]).
>
> Por lo que veo:
> 2013-07-22 14:26:40,351 ERROR [jeeves.service] -  (C) Exc :
> MissingParameterEx : data
>
> Te falta el parámetro "data" en la llamada a la API. ¿Cómo estás
> haciendo esta llamada?
>
> ¿Puedes poner tu request completo?
>
>
>>
>> ¿Conocéis algún mecanismo alternativo de integración desde Java?
>
> Hay otro deprecated que es este:
> https://github.com/geonetwork/core-gast
>
> Tampoco será compatible.
>
> Puedes mirar cómo lo hace la parte de la interfaz gráfica, a ver si
> eso te aclara algo.
>

Concretamente, si ejecutas con el parámetro debug en la URL
(http://---------/?debug) puedes espiar en el fichero
MetadataInsertPanel.js cómo se hace esta llamada:


        var groupStore =
GeoNetwork.data.GroupStore(catalogue.services.getGroups);
        groupStore.load();

        this.uploadForm = new Ext.form.FormPanel({
            //fileUpload: true,
            region: 'center',
            split: true,
            border: false,
            frame: false,
            errorReader: new Ext.data.XmlReader({
                    record : 'response'
                }, ['id']
            ),
            items: [{
                xtype: 'textfield',
                hidden: true,
                name: 'insert_mode',
                value: '0'
            }, {
                xtype: 'textfield',
                hidden: true,
                name: 'template',
                value: this.isTemplate
            }, {
                xtype: 'textarea',
                name: 'data',
                fieldLabel: OpenLayers.i18n('xmlData'),
                allowBlank: false,
                anchor: '98% 90%'
            }, new Ext.form.ComboBox({
                name: 'group',
                hiddenName: 'group',
                mode: 'local',
                emptyText: OpenLayers.i18n('chooseGroup'),
                triggerAction: 'all',
                fieldLabel: OpenLayers.i18n('group'),
                store: groupStore,
                allowBlank: false,
                valueField: 'id',
                displayField: 'name',
                tpl: '<tpl for="."><div
class="x-combo-list-item">{[values.label.' +
GeoNetwork.Util.getCatalogueLang(OpenLayers.Lang.getCode()) +
']}</div></tpl>'
            })],
            buttons: [{
                text: OpenLayers.i18n('add'),
                scope: this,
                iconCls: 'thumbnailGoIcon',
                handler: function(){
                    if (this.uploadForm.getForm().isValid()) {
                        this.uploadForm.getForm().submit({
                            url: catalogue.services.mdXMLInsert,    //
FIXME : global catalogue var
                            scope: this,
                            success: function(fp, action){
                                if (this.ownerCt) {
                                    this.ownerCt.close();
                                }
                            },
                            failure: function(response){

Ext.Msg.alert(OpenLayers.i18n('failure'), response.responseText);
                            }
                        });
                    }
                }
            }]




>>
>> Saludos y muchas gracias!
>>
>
> Saludos y suerte,
> María.
>
>> [1] https://github.com/geosolutions-it/geoserver-manager
>> [2] https://github.com/geosolutions-it/geonetwork-manager
>> [3] http://pastebin.com/qwwMRqZz
>> [4]
>> http://osgeo-org.1560.x6.nabble.com/XML-Login-Service-in-Geonetwork-2-10-td5064670.html
>> [5]
>> https://github.com/alediator/geonetwork-manager/tree/geonetwork-v2.10-compatibility
>> [6] http://pastebin.com/3u0P42B2
>> [7]
>> http://geonetwork-opensource.org/manuals/2.10.0/eng/developer/xml_services/metadata_xml_insert_update_delete.html
>> [8]
>> http://restforchrome.blogspot.com.es/?utm_source=ARC&utm_medium=InsideApplication&utm_campaign=About
>> [9]
>> https://docs.google.com/file/d/0B3i6JKwZJEw2OHFhUWFiZV9zcWc/edit?usp=sharing
>>
>> --
>> Alejandro Díaz Torres.
>
> ¡¡Cafeína!!

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
GeoNetwork-usuarios-es mailing list
GeoNetwork-usuarios-es@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-usuarios-es

Responder a