Buongiorno a tutti.
Sto utilizzando il modulo Web Service Client per consumare un servizio che mi fornisce dati. Nello specifico, interrogo un web service esposto dall'università per ottenere delle pubblicazioni scientifiche (le informazioni sono molto complesse, ovvero contengono molti campi come title, subject, creator, date, indentifier, type, productURI ecc).
Dopo aver interrogato il web service, ottengo una risposta in formato XML: come posso elaborarla?
Io vorrei utilizzare i dati contenuti nella risposta XML per mostrare un elenco delle pubblicazioni, con i relativi autori, data, ecc.
Ho provato a salvare (manualmente) questa risposta in un file XML e, utilizzando i moduli Feeds e FeedsXPathParser, l'ho importato. Purtroppo non va a buon fine l'upload e non importa nulla.
Evidentemente sbaglio qualcosa nella creazione di un nuovo "feed importer".
Qualcuno saprebbe darmi una mano per configurare correttamente l'importer?
Oppure ci sono altre strade?
Sono abbastanza disperata perchè ho pochissimo tempo per risolvere la questione..... vi ringrazio tantissimo per l'aiuto.
Ciao,
non conosco il modulo WebServiceClient e quindi aiutarti con questo non riesco..
conosco il modulo Feeds e l'ho già usato per importare dati da file xml.. perciò ti invito a riportare gli errori che hai avuto nell'importazione e la configurazione dell'import..così ti potremmo aiutare:)
Ciao, grazie mille per la pronta risposta.
Per quanto riguarda l'importazione, non ho particolari errori: mi trovo do fronte alla scritta "No imported items"... però non dice che non ha trovato il file o qualcosa di simile. La cosa che mi insospettisce, è il fatto che non compaia la barra di progressione con la percentuale, cosa che accade normalmente.. per esempio quando importo un file BibTex con Biblio Module.
Da questo ho dedotto che probabilmente sbaglio io quando configuro l'importer.
Mi trovo infatti in difficoltà a settare alcuni parametri... descrivo come ho impostato io:
-Basic settings: attached to content type = scelgo use standalone form
periodic import = off
-Fetcher: file upload
-Upload directory: a cosa serve, se poi mi compare il pulsante "sfoglia" per selezionare il file dal pc?
-Parser: common syndication parser (parse XML feeds in RSS1 ecc...)
-Settings for common syndication parser: pagina bianca (non ci sono opzioni da impostare)
-Processor: scelgo node processor
-Node processor: Bundle = biblio (scelgo questo perchè ero convinta che il modulo biblio potesse "utilizzare" e organizzare i dati provenienti dall'xml... sbaglio qui?)
-Text Format: plain text
-Mapping for node processors: non inserisco alcun campo, anche perchè non ho la conoscenza esatta di quali e quanti campi ci siano nel file XML
mi dispiace ma non conosco nemmeno Biblio Module :(
per le impostazioni:
-> Upload directory: il file viene salvato nel server per essere letto al momento dell'import o successivamente ad altri processi di import..
-> Parser: se devi importare un file XML allora devi usare l'interprete giusto: "XPath XML parser" dal relativo modulo..
-> Processor ed impostazioni: in base a ciò che devi importare (creare/aggiornare) qui scegli le tue impostazioni..
-> Mapping: è la parte più importante: qui spieghi all'import cosa stai importando.. qui devi dirgli che campi vuoi che siano importati.. (es: titolo, descrizione, sottotitolo, ecc)
Per l'xml poi, una volta configurato il Mapping devi tornare sulla sezione "interprete->impostazioni": ora devi specificare o meglio legare i campi settati nel Mapping al (codice) tag xml interessato.. es: titolo = title, dove "title" corrisponde il tag "" presente nel file xml..
(non sono bravo a spiegare lo so:( )
Per fare l'import devi sempre e comunque conoscere che campi ci saranno nel file xml e dirgli che campi leggere del file xml e che siano salvati nel nodo/contenuto che stai importando..
Ti ringrazio, sei stato molto chiaro! ;)
Ho seguito le tue indicazioni e un miglioramento c'è stato... ora compare la barra di progressione, quando arriva a 100% mi comunica di aver importato 45 nodi. Effettivamente nel mio file xml ho 45 tag quindi almeno questo è corretto....
Il problema è che nella pagina home, dove pubblica i nodi importati, i nodi sono come "vuoti".
Non hanno tutti i campi che dovrebbero avere! cioè io ho impostato che deve importare svariati campi (all'interno di ogni tag ) come per esempio "autore", "url", "codiceID" eccetera.
Perchè non compaiono??????
Sbaglio forse a impostare i tag? Nel mio xml ho dei tag tipo e nelle impostazioni riporto pari pari il contenuto del tag... per esempio dove avevo scelto title vado a legarlo con il tag "dc:title".
Forse non devo riportare quel " dc: " ????????????
Mi sono accorta che sono stati filtrati i tag che avevo inserito....
Nella seconda frase:Effettivamente nel mio file xml ho 45 tag <product>
Nell'ultimo paragrafo: Nel mio xml ho dei tag tipo <dc:title>
hai fatto questa parte?
Per l'xml poi, una volta configurato il Mapping devi tornare sulla sezione "interprete->impostazioni": ora devi specificare o meglio legare i campi settati nel Mapping al (codice) tag xml interessato.. es: titolo = title, dove "title" corrisponde il tag "" presente nel file xml..