Prmemria per l utilizz dei servizi di interperabilità del SIGEC WEB 1 Istitut Centrale per il Catalg e la Dcumentazine
Smmari Intrduzine... 3 Riferimenti... 3 WebServices espsti dal SIGEC WEB... 4 Servizi di Brwsing dei dati... 4 Esempi dell'utilizz dei metdi del servizi webservicebrwsingcards... 5 Lettura dei dati di dettagli di una scheda nel frmat standard tramite mapping... 7 Lettura dei dati gegrafici tramite i metdi getitemlist e getitem... 9 Servizi webservicecampagna... 10 Esempi dell'utilizz dei metdi del servizi webservicecampagna... 11 Servizi webserviceattivita... 13 Esempi dell'utilizz dei metdi del servizi webserviceattivita... 13 Servizi webserviceitems... 15 Esempi dell'utilizz dei metdi del servizi webserviceitems... 15 Servizi webserviceartpast... 17 2 Istitut Centrale per il Catalg e la Dcumentazine
Intrduzine Il sistema SIGEC WEB rende dispnibili servizi di interperabilità per l scambi di infrmazini cn sistemi esterni autenticati, secnd l standard WebServices SOAP. I servizi di interperabilità fferti pssn essere classificati in due gruppi: servizi di fruizine, per l'access in sla lettura ai dati catalgati servizi di catalgazine, per l'alimentazine della banca dati da parte di sistemi esterni I dati presenti all'intern dell'archivi del sistema ptrann essere resi dispnibili anche attravers: la predispsizine di strati cartgrafici, accessibili via WMS, secnd l standard OGC l'access ad un prvider OAI-PMH, sul quale gli enti esterni ricnsciuti pssn eseguire delle query GENORMA SIGEC WEB (perazinale) Sttsistema Utente Catalgazine Dati Nrmative Mapping Web Service Pubblicazine Fruizine Web Metadati Figura 1: Interperabilità esterna del SIGEC WEB In quest dcument sn riprtati indicazini ed esempi di cdice utili a realizzare un client vers i web services espsti. Riferimenti La cmprensine e l utilizz dei servizi descritti in quest dcument presuppngn la cnscenza del prcess della catalgazine, dei principi metdlgici e degli standard a cui ess fa riferiment. Si vedan in particlare: Manuale Amministratre; Manuale Catalgatre; Nrmative catalgrafiche (http://www.iccd.beniculturali.it/index.php?it/204/nrmative). 3 Istitut Centrale per il Catalg e la Dcumentazine
WebServices espsti dal SIGEC WEB Il sistema SIGEC WEB espne 5 web services, ciascun dei quali rende dispnibili diversi metdi; gli indirizzi ai quali sarann resi dispnibili i servizi sn i seguenti: servizi di brwsing dei dati http://151.12.80.81/webservicebrwsingcards?wsdl servizi per la catalgazine servizi di gestine delle campagne http://151.12.80. 81/webServiceCampagna?wsdl servizi di gestine delle attività http://151.12.80. 81/webServiceAttivita?wsdl servizi di gestine delle schede http://151.12.80. 81/webServiceItems?wsdl servizi di interperabilità per particlari enti di minister http://151.12.80. 81/webServiceArtpast?wsdl Servizi di Brwsing dei dati Quest servizi rende dispnibili i metdi: cuntitems per il cnteggi degli items getallmapping per il recuper dei mapping definiti nel sistema getallmappingandsearchablefields per il recuper dei mapping e dei relativi campi ricercabili definiti nel sistema getavailableschemas per il recuper degli schemi definiti nel sistema getavailablesurces per il recuper delle fnti dispnibili getitem di recuper dei dati di dettagli di una scheda getitemlist di recuper di una lista di schede getmmeuri di recuper dell'uri di access ad un dat multimediale getsearchablefields di recuper dei campi pssibili ggett della ricerca 4 Istitut Centrale per il Catalg e la Dcumentazine
Attravers pprtune chiamate effettuate da un client SOAP è pssibile interrgare il SIGEC e recuperare le infrmazini relative alle schede (di catalg, authrity, entità cllegate, ecc.) visibili da un ente. In gni chiamata vann frniti dei parametri di identificazine crrispndenti a: id del sistema (crrispndente al camp Nme sistema) indirizz ip espst dal sistema chiamante Per le single chiamate sarann necessari parametri differenti, secnd quant indicat nella dcumentazine tecnica (wsdl) dispnibile all'url http://151.12.80.91:8080/webservicebrwsingcards?wsdl Esempi dell'utilizz dei metdi del servizi webservicebrwsingcards Nel seguit è prpst un esempi in linguaggi java della sequenza di chiamate necessarie a ttenere dei dati dal web service. Nell'esempi sn riprtati esempi dei risultati ttenuti dalle chiamate ad alcuni dei metdi dispnibili. Il prim pass da cmpiere cnsiste nella richiesta dei mapping a dispsizine dell ente, attravers il metd getallmapping per il recuper dei mapping definiti nel Sistema. AccessBean ab = new AccessBean(); BaseRequest br = new BaseRequest(); ab.setsystemid("sprap_ii"); ab.setsystemip("10.10.10.10"); br.setaccessbean(ab); List<MappingBean> lis = prt.getallmapping(br); Il sistema restituirà una lista di mapping. Per ciascun mapping sarà pssibile richiedere la lista dei campi di ricerca dispnibili, impstand sia i parametri di access che il mapping, cn l invcazine del metd getsearchablefields che cnsente il recuper dei campi pssibili ggett della ricerca. List<String> searchfields; Iteratr<MappingBean> mapiteratr = lis.iteratr(); MappingBean mapping; while (mapiteratr.hasnext()){ mapping = mapiteratr.next(); System.ut.println("Descriptin:" + mapping.getdescriptin() + "; ID" + mapping.getid() ); br.setmappingbean(mapping); br.setaccessbean(ab); searchfields = prt.getsearchablefields(br); 5 Istitut Centrale per il Catalg e la Dcumentazine
fr (int i = 0; i<searchfields.size(); i++){ System.ut.println("search fields==="+searchfields.get(i)); Il sistema restituirà una lista di parametri di ricerca. A quest punt impstand dei parametri di ricerca è pssibile ttenere il cnteggi delle schede attravers il metd cuntitems; il numer restituit tiene cnt della visibilità delle schede stesse da parte dell ente, secnd quant previst nel su prfil di interperabilità, e dei parametri impstati. ab.setfnte("iccd0"); RequestParameter rp = new RequestParameter(); rp.setname("oggetto"); rp.setvalue("dipint"); rp.setcntains(true); br.getparams().add(rp); br.setdistinct(false); br.setqueryparam("oggetto"); int res = prt.cuntitems(br); Infine si può ttenere il risultat della ricerca, invcand il metd getitemlist, per il recuper di una lista di schede, e per gni scheda restituita chiamand anche i metdi getitem, di recuper dei dati di dettagli, e getmmeuri, di recuper dell'uri di access ad un dat multimediale. ItemListRequest req =new ItemListRequest(); req.setdistinct(false); req.setaccessbean(ab); req.getparams().add(rp); req.setmappingbean(mapping); eq.setpagenumber(1); eq.sethitsperpage(20); eq.setqueryparam("oggetto, PROVINCIA "); ItemListRespnse resp = prt.getitemlist(req); System.ut.println(resp.getListaItem().size()); 6 Istitut Centrale per il Catalg e la Dcumentazine
fr(int i = 0; i< resp.getlistaitem().size();i++){ ItemListElement ile = resp.getlistaitem().get(i); Results r = ile.getresults(); fr (int j = 0; j<r.getentry().size(); j++){ System.ut.println("(Key:" + r.getentry().get(j).getkey() + " - Value:" + r.getentry().get(j).getvalue() + ")"); if (r.getentry().get(j).getkey().equalsignrecase("keycode")) keycde = r.getentry().get(j).getvalue(); reqitem.setaccessbean(ab); reqitem.setkeycde(keycde); List<String> lista = prt.getmmeuri(reqitem); System.ut.println("ccccc"+lista); respitem=prt.getitem(reqitem); System.ut.println("xml===="+new String(Base64.decde(respItem.getItem().getCard()))); System.ut.println("fine test"); Si può sservare che i metdi getitem e getmmeuri sn utilizzati per ricavare infrmazini di dettagli della scheda. Lettura dei dati di dettagli di una scheda nel frmat standard tramite mapping Il metd getitem può restituire i dati di una scheda di catalg per la quale sia stat indicat il cdice univc intern (keycde); tali dati pssn essere frniti dal sistema nel frmat standard in cui la scheda è memrizzata ppure in un frmat ttenut applicand un mapping. Nel cas in cui si vglia leggere la scheda nel su frmat riginale sarà necessari impstare i parametri di chiamata secnd quant esemplificat nel seguente framment di cdice: WsGetItemRequest reqitem = new WsGetItemRequest(); WsGetItemRespnse respitem = null; String keycde = null; AccessBean ab = new AccessBean(); ab.setsystemid("iccd_interp"); ab.setsystemip("10.10.10.10"); ab.setfnte("iccd0"); reqitem.setaccessbean(ab); 7 Istitut Centrale per il Catalg e la Dcumentazine
reqitem.setfullview(true); reqitem.setkeycde("iccd2258189"); reqitem.setaddinfge(false); respitem = prt.getitem(reqitem); String xmlscheda = new String(Base64.decde(respItem.getItem().getCard())); Se invece è necessari ttenere dal sistema la medesima scheda, mappata secnd un schema di mapping definit nella cnfigurazine del SIGEC, si dvrà impstare al valre false il parametr fullview e indicare tale schema cme nel seguente esempi. WsGetItemRequest reqitem = new WsGetItemRequest(); WsGetItemRespnse respitem = null; String keycde = null; AccessBean ab = new AccessBean(); ab.setsystemid("iccd_interp"); ab.setsystemip("10.10.10.10"); ab.setfnte("iccd0"); reqitem.setaccessbean(ab); reqitem.setfullview(false); reqitem.setkeycde("iccd2258189"); reqitem.setaddinfge(false); List<SchemaBean> ln = new ArrayList<SchemaBean> (); SchemaBean sb = new SchemaBean(); //quest valre può essere ricavat tramite il metd getavailableschemas sb.setid(17); ln.add(sb); reqitem.setlistanrmative(ln); respitem = prt.getitem(reqitem); String xmlscheda = new String(Base64.decde(respItem.getItem().getCard())); 8 Istitut Centrale per il Catalg e la Dcumentazine
Lettura dei dati gegrafici tramite i metdi getitemlist e getitem I metdi getitemlist e getitem pssn restituire i dati gegrafici di lcalizzazine fisica attuale assciati ad una scheda di catalg. Nel cas del metd di lista (getitemlist) è pssibile impstare i parametri di chiamata secnd il seguente esempi: AccessBean ab = new AccessBean(); ab.setsystemid("iccd_interp"); ab.setsystemip("10.10.10.10"); ab.setfnte("iccd0"); ItemListRequest req =new ItemListRequest(); req.setdistinct(false); req.setaccessbean(ab); req.getparams().add(rp); req.setmappingbean(mapping); req.setpagenumber(1); req.sethitsperpage(20); req.setqueryparam("oggetto, PROVINCIA "); req.setaddinfge(true); ItemListRespnse resp = prt.getitemlist(req); fr(int i = 0; i< resp.getlistaitem().size();i++){ ItemListElement ile = resp.getlistaitem().get(i); GeCdingClientDTO ge = ile.getgecding(); Dve il dat di gecding restituit ha una struttura descritta nel seguente framment in linguaggi XML: <gecding> <cmune>caravin</cmune> <frazine/> <isfirst>0</isfirst> <keycde>iccd2227113</keycde> <lcalita/> <prvincia>to</prvincia> <regine>piemnte</regine> <srs>epsg:4326</srs> <WKTgem/> <x>7.9492349</x> <y>45.4347536</y> 9 Istitut Centrale per il Catalg e la Dcumentazine
</gecding> Nel cas del metd relativ ad un sl item deve essere impstat il parametr addinfge, cme nel seguente esempi: WsGetItemRequest reqitem = new WsGetItemRequest(); WsGetItemRespnse respitem = null; String keycde = null; AccessBean ab = new AccessBean(); ab.setsystemid("iccd_interp"); ab.setsystemip("10.10.10.10"); ab.setfnte("iccd0"); reqitem.setaccessbean(ab); reqitem.setfullview(true); reqitem.setkeycde("iccd2258189"); reqitem.setaddinfge(true); respitem = prt.getitem(reqitem); String xmlscheda = new String(Base64.decde(respItem.getItem().getCard())); Servizi webservicecampagna Quest servizi rende dispnibili i metdi: di gestine delle campagne listacampagne per ttenere l'elenc delle campagne gestite dall'ente creazinecampagna (cdiceenterichiedente, descrizine, nme, regine, tip) per creare un campagna dettaglicampagna per ttenere il dettagli di una campagna gestita dall'ente chiusuracampagna per chiudere una campagna gestita dall'ente di interrgazine delle nrmative listanrmative per ttenere l'elenc delle nrmative esistenti 10 Istitut Centrale per il Catalg e la Dcumentazine
dettaglinrmativa per ttenere il dettagli di una nrmativa esistente di gestine dei numeri di catalg richiestanumeridicatalg per richiedere dei numeri di catalg listarichiestenumeridicatalg per ttenere l'elenc dei numeri di catalg assegnati dettaglirichiestanumeridicatalg per ttenere il dettagli di una richiesta di numeri di catalg Per le single chiamate sarann necessari parametri differenti, secnd quant indicat nella dcumentazine tecnica (wsdl) dispnibile all'url http://151.12.80.81/sigecweb/webservicecampagna?wsdl Esempi dell'utilizz dei metdi del servizi webservicecampagna Nel seguit è prpst un esempi in linguaggi java della sequenza di chiamate necessarie a ttenere dei dati dal web service. Nell'esempi sn riprtate le chiamate ad alcuni dei metdi dispnibili. Innanzitutt è pssibile creare una nuva campagna, frnend le infrmazini minime necessarie, ed elencare quelle cnfigurate per un dat ente; sn invcati i metdi listacampagne, per ttenere l'elenc delle campagne gestite dall'ente, e creazinecampagna per creare un campagna. CampagnaClientWSRequestDTO campagna = new CampagnaClientWSRequestDTO(); campagna.setnme("ci_26_4_2011_a"); campagna.setdescrizine("campagna - " + campagna.getnme()); campagna.settip(1); campagna.setregine(12); campagna.setcdiceenterichiedente("x501z"); prt.creazinecampagna(campagna); campagna.setnme("ci_26_4_2011_b"); campagna.setdescrizine("campagna - " + campagna.getnme()); campagna.settip(1); campagna.setregine(12); campagna.setcdiceenterichiedente("x501z"); prt.creazinecampagna(campagna); 11 Istitut Centrale per il Catalg e la Dcumentazine
Quindi è pssibile ttenere l elenc delle campagne filtrand per l ente richiedente e ttenere le infrmazini di base. List<CampagnaClientDTO> lista = prt.listacampagne("x501z"); fr (CampagnaClientDTO cam : lista){ System.ut.println("desc: "+cam.getdescrizine() ); System.ut.println("id: "+cam.getid()); System.ut.println("nme: "+cam.getnme()); System.ut.println("nme: "+cam.getflagstat()); È quindi pssibile chiudere una determinata campagna, attravers il metd chiusuracampagna, necessari a chiudere una campagna gestita dall ente. if (cam.getnme().equals("ci_26_4_2011_b")){ prt.chiusuracampagna(cam.getid()); Ottenere i dati di dettagli di una campagna, chiamand dettaglicampagna per ttenere il dettagli di una campagna gestita dall'ente. CampagnaClientDTO campagna1 = prt.dettaglicampagna(cam.getid()); System.ut.println("Campagna nme===="+campagna1.getnme()); System.ut.println("Attività aperte ===="+ campagna1.getcuntattivitaaperte()); System.ut.println("Attività chiuse ===="+ campagna1.getcuntattivitachiuse()); System.ut.println("Numeri assegnabili ====" + campagna1.getmaxnumeriassegnabili()); System.ut.println("Schede allcate===="+campagna1.getschedeallcate()); System.ut.println("Schede assegnate===="+campagna1.getschedeassegnate()); System.ut.println("Lista stime===="+campagna1.getlistastime()); Effettuare una richiesta di numeri di catalg per una campagna, tramite il metd richiestanumeridicatalg. if (cam.getnme().equals("ci_26_4_2011_a")){ RangeNumeriAssegnabiliClientWSRequestDTO richiesta = new RangeNumeriAssegnabiliClientWSRequestDTO(); richiesta.setcampagna(cam.getid()); richiesta.setcardinalita(100); prt.richiestanumeridicatalg(richiesta); Ottenere la lista delle richieste di numeri di catalg effettuate da un ente, chiamand il metd listarichiestenumeridicatalg, e il relativ dettagli, attravers il metd dettaglirichiestanumeridicatalg. List <RangeNumeriAssegnabiliClientDTO> lista1= prt.listarichiestenumeridicatalg("x501z"); RangeNumeriAssegnabiliClientDTO res = null; fr (int i = 0; i< lista1.size(); i++){ res = prt.dettaglirichiestanumeridicatalg(lista1.get(i).getid()); System.ut.println("Campagna==="+res.getCampagnaAssciata().getId()); 12 Istitut Centrale per il Catalg e la Dcumentazine
System.ut.println("Max==="+res.getMaxRange()); System.ut.println("Min==="+res.getMinRange()); System.ut.println("Stat==="+res.getStatRichiesta()); Infine è pssibile ttenere una lista di nrmative e il relativ dettagli, tramite la cppia di metdi listanrmative e dettaglinrmativa. List<TipSchedaDTO> res = prt.listanrmative(); fr (TipSchedaDTO tip : res){ System.ut.println("Tip: "+tip.getschematype()+" Versine: " +tip.getschemaversin()); if (tip.getschematype().cntains("oa") && tip.getschemaversin().cntains("3")){ byte[] res1 = prt.dettaglinrmativa( tip.getschematype(), tip.getschemaversin()+"_iccd0"); Servizi webserviceattivita Quest servizi rende dispnibili i metdi: creazineattivita per la creazine di un'attività listaattivita per visualizzare la lista di tutte le attività che si pssn gestire listaattivitapercampagna per visualizzare la lista di tutte le attività appartenenti ad una campagna che si può gestire dettagliattivita per visualizzare il dettagli di un'attività chiusuraattivita per la chiusura di un'attività Per le single chiamate sarann necessari parametri differenti, secnd quant indicat nella dcumentazine tecnica (wsdl) dispnibile all'url http://151.12.80.81/sigecweb/webserviceattivita?wsdl Esempi dell'utilizz dei metdi del servizi webserviceattivita Nel seguit è prpst un esempi in linguaggi java della sequenza di chiamate necessarie a ttenere dei dati dal web service. Nell'esempi sn riprtate le chiamate ad alcuni dei metdi dispnibili. 13 Istitut Centrale per il Catalg e la Dcumentazine
Innanzitutt è pssibile creare una nuva attività, frnend le infrmazini minime necessarie, attravers la chiamata del metd creazineattivita. System.ut.println("inizi test"); AttivitaClientWSRequestDTO attivita = new AttivitaClientWSRequestDTO(); attivita.setcampagna("iccd50747427"); attivita.setecp("s50"); attivita.setesc("x501z"); attivita.setnme("attività Interp 28_04_2011_A"); attivita.setnumeriperattivita(25); prt.creazineattivita(attivita); attivita.setcampagna("iccd50747427"); attivita.setecp("s50"); attivita.setesc("x501z"); attivita.setnme("attività Interp 28_04_2011_B"); attivita.setnumeriperattivita(25); prt.creazineattivita(attivita); Quindi,invcand il metd listaattivita, si pssn elencare le attività esistenti gestite da un ente e richiedere il relativ dettagli: List<AttivitaDTO> lista = prt.listaattivita("x501z"); System.ut.println("Lista==="+lista); AttivitaClientDTO att = null; fr (AttivitaDTO att1 : lista){ att = prt.dettagliattivita(att1.getid()); System.ut.println("att id: "+att.getid()); System.ut.println("att name: "+att.getname()); System.ut.println("att stat: "+att.getflagstat()); System.ut.println("att stat: "+att.getschedeallcate()); System.ut.println("att stat: "+att.getschededaassegnare()); System.ut.println("att stat: "+att.getcampagnaassciata()); fr (int i = 0; i<att.getlistarangeattivita().size(); i++){ System.ut.println("att range: "+att.getlistarangeattivita().get(i).getmaxrange()); System.ut.println("att range: "+att.getlistarangeattivita().get(i).getminrange()); fr (int j = 0; j<att.getlistarangeattivita().get(i).getrangelttinumeriattivitaassciati().size(); j++){ System.ut.println("att range: "+att.getlistarangeattivita().get(i).getrangelttinumeriattivitaassciati().get(j).getmaxrange()); System.ut.println("att range: "+att.getlistarangeattivita().get(i).getrangelttinumeriattivitaassciati().get(j).getminrange()); Le medesime attività pssn essere filtrateanche per campagna alla quale afferiscn, invcand il metd listaattivitapercampagna. List<AttivitaClientDTO> lista1 = prt.listaattivitapercampagna("iccd50747427"); 14 Istitut Centrale per il Catalg e la Dcumentazine
System.ut.println("Lista==="+lista1); att = null; fr (AttivitaClientDTO att1 : lista1){ att = prt.dettagliattivita(att1.getid()); System.ut.println("att id: "+att.getid()); System.ut.println("att name: "+att.getname()); System.ut.println("att stat: "+att.getflagstat()); System.ut.println("att stat: "+att.getschedeallcate()); System.ut.println("att stat: "+att.getschededaassegnare()); System.ut.println("att stat: "+att.getcampagnaassciata()); Infine chiamand il metd chiusuraattivita è pssible richiedere la chiusura di un attività. if (att.getname().equals("attività Interp 28_04_2011_B")) prt.chiusuraattivita(att.getid()); Servizi webserviceitems Quest servizi rende dispnibili i metdi: dettaglischedaperattivita che cnsente di ttenere il dettagli di una scheda getente che frnisce infrmazini di dettagli su di un ente invischede per inviare delle schede nell stat di verificate scientificamente listalgperpacchettimprtazine che frnisce il lg dell'perazine di imprtazine listaschedeperattivita che frnisce l'elenc delle schede di un'attività in funzine del prfil dell'ente che effettua la chiamata Per le single chiamate sarann necessari parametri differenti, secnd quant indicat nella dcumentazine tecnica (wsdl) dispnibile all'url http://151.12.80.81/sigecweb/webserviceitems?wsdl Esempi dell'utilizz dei metdi del servizi webserviceitems Nel seguit è prpst un esempi in linguaggi java della sequenza di chiamate necessarie a ttenere dei dati dal web service. Nell'esempi sn riprtate le chiamate ad alcuni dei metdi dispnibili. Innanzitutt, tramite il mets invischede, è pssibile inviare un pacchett di schede che il sistema registra nell stat di verificat scientificamente 15 Istitut Centrale per il Catalg e la Dcumentazine
DataHandler dh = new DataHandler(new FileDataSurce("C:/TEMP/Desert.zip")); System.ut.println("DH: "+dh); String respnse = prt.invischede(12, "ICCD50747485", 0, "Desert.zip", dh); System.ut.println("Respnse frm server " + respnse); La firma del metd invischede prevede i parametri idregine, idattività, tip Imprtazine, filename, pacchett; nel cas in cui sia specificat un valre per l attività (idattività) le schede sarann salvate all intern di una specifica attività cnfigurata nel sistema. Se invece nn viene frnita alcuna attività, ma viene indicata la regine a cui appartengn le schede, queste sarann salvate nella Campagna di Default della regine stessa. In quest cas tali schede sarann visibili alla Direzine reginale, che prvvederà a smistarle alla Sprintendenza di cmpetenza ve necessari. DataHandler dh = new DataHandler(new FileDataSurce("C:/TEMP/Desert.zip")); System.ut.println("DH: "+dh); String respnse = prt.invischede(12, null, 0, "Desert.zip", dh); System.ut.println("Respnse frm server " + respnse); Quest secnd framment di cdice prvvederà a memrizzare le schede nella campagna e nell attività di default per la regine Lazi; tali schede sarann visibili alla Direzine reginale del Lazi. Successivamente è pssibile ricevere il lg relativ all invi effettuat per mnitrare l stat dell acquisizine di un pacchett, chiamand il metd listalgperpacchettimprtazine e utilizzand cme argment prpri il risultat della chiamata al metd invischede appena descritt. System.ut.println("getLgs"); ListaLgTraceImprt lista = prt.listalgperpacchettimprtazine("7f4d6eb2-1bfa-4eef-a8faaf314dde8d44", 0, 20); List<LgTraceImprt> l = lista.getlista(); System.ut.println("size lg imprt==="+l.size()); fr (LgTraceImprt lg : l ){ System.ut.println("lg==="+lg.getKeycde()); System.ut.println("lg==="+lg.getIdentificativItem()); System.ut.println("lg==="+lg.getMessage()); Infine si pssn ttenere le schede presenti sul sistema visibili da un ente, eventualmente filtrate in base ad un attività di interesse, ricavand anche il relativ tracciat riginale. ListIndexDTO listaitems = prt.listaschedeperattivita("s50",null,"iccd50747485", 0, 1, 20); System.ut.println("listaItems==="+listaItems.getTtal()); fr (IndexMdelDTO m : listaitems.getlista() ){ System.ut.println("getKeycde==="+m.getMdel().getKeycde()); System.ut.println("getOggett==="+m.getOggett()); System.ut.println("getCdiceUnivc==="+m.getCdiceUnivc()); 16 Istitut Centrale per il Catalg e la Dcumentazine
System.ut.println("dettagliScheda"); System.ut.println(new String (Base64.decde(prt.dettagliSchedaPerAttivita(m.getMdel().getKeycde())))); Servizi webserviceartpast Quest servizi rende dispnibili i metdi: caricabene che cnsente di ttenere il dettagli di una scheda per un bene culturale caricaimmagine che frnisce infrmazini di dettagli sull'immagine di un bene cntabeni per cntare i beni secnd i parametri impstati cntacntenitri per cntare i cntenitri secnd i parametri impstati cntaprprietari per cntare i prprietari secnd i parametri impstati listabeni per elencare i beni secnd i parametri impstati listacntenitri per elencare i cntenitri secnd i parametri impstati listaprprietari per elencare i prprietari secnd i parametri impstati Per le single chiamate sarann necessari parametri differenti, secnd quant indicat nella dcumentazine tecnica (wsdl) dispnibile all'url http://151.12.80.81/sigecweb/webserviceartpast?wsdl Le utenze di Artpast sn cnfigurate in due tabelle del DB Oracle e pssn essere aggirnate manualmente. Innanzitutt è pssibile chiamare il metd cntabeni (per cntare i beni secnd i parametri impstati), impstand un filtr basat sui campi NCTR (regine), PVCP (prvincia), PVCC (cmune), OGTD (tiplgia ggett), ecc. CntaBeni cb = new CntaBeni(); String user = "direzinepsae"; String passwd = "dzae1884"; String grupp = "ICCD0"; String NCTR = "12"; String PVCP = "RM"; String PVCC = "Rma"; 17 Istitut Centrale per il Catalg e la Dcumentazine
String OGTD = "scultura"; String CDGS = ""; String LDCN = "Palazz"; int n = prt.cntabeni(user, passwd,grupp, NCTR, PVCP, PVCC, OGTD, CDGS, LDCN); System.ut.println("Ttale cntabeni===" + n + "\n"); All stess md è pssibile cntare i cntenitri, tramite il metd cntacntenitri: String user = "direzinepsae"; String passwd = "dzae1884"; String grupp = "ICCD0"; String NCTR = "12"; String PVCP = "RM"; String PVCC = "Rma"; String OGTD = "scultura"; String CDGS = ""; String LDCN = "Palazz"; int n = prt.cntacntenitri(user, passwd,grupp, NCTR, PVCP, PVCC, OGTD, CDGS, LDCN); System.ut.println("Ttale cntacntenitri===" + n + "\n"); e i prprietari tramite il metd cntaprprietari String user = "direzinepsae"; String passwd = "dzae1884"; String grupp = "ICCD0"; String NCTR = "12"; String PVCP = "RM"; String PVCC = "Rma"; String OGTD = "scultura"; String CDGS = "Galleria"; String LDCN = ""; int n = prt.cntaprprietari(user, passwd,grupp, NCTR, PVCP, PVCC, OGTD, CDGS, LDCN); System.ut.println("Ttale cntaprprietari===" + n + "\n"); Funzine analghe sn dispnibili, tramite il metd listabeni, per elencare i beni sulla base di un determinat filtr: String user = "direzinepsae"; String passwd = "dzae1884"; String grupp = "ICCD0"; String NCTR = "12"; String PVCP = "RM"; String PVCC = "Rma"; String OGTD = "scultura"; String CDGS = ""; String LDCN = "Palazz"; int pagina=1; int risultati=10; List<BeneResult> lista = prt.listabeni(user, passwd,grupp, NCTR, PVCP, PVCC, OGTD, CDGS, LDCN, risultati, pagina); 18 Istitut Centrale per il Catalg e la Dcumentazine
Assert.assertTrue(lista.size() >= 0); System.ut.println("Ttale listabeni===" + lista.size()); fr (BeneResult result : lista) System.ut.println("-> " + result.getcdice() + " - " + result.getdefinizine()); System.ut.println("\n"); Per elencare i cntenitri, tramite il metd listacntenitri: String user = "direzinepsae"; String passwd = "dzae1884"; String grupp = "ICCD0"; String NCTR = "12"; String PVCP = "RM"; String PVCC = "Rma"; String OGTD = "scultura"; String CDGS = ""; String LDCN = "Palazz"; List<CntenitreResult> lista = prt.listacntenitri(user, passwd,grupp, NCTR, PVCP, PVCC, OGTD, CDGS, LDCN, 10, 1); System.ut.println("Ttale listacntenitri===" + lista.size()); fr (CntenitreResult result : lista) System.ut.println("-> " + result.getnme()); System.ut.println("\n"); Per elencare I prprietari, tramite il metd listaprprietari: String user = "direzinepsae"; String passwd = "dzae1884"; String grupp = "ICCD0"; String NCTR = "12"; String PVCP = "RM"; String PVCC = "Rma"; String OGTD = "scultura"; String CDGS = "Galleria"; String LDCN = ""; List<PrprietariResult> lista = prt.listaprprietari(user, passwd,grupp, NCTR, PVCP, PVCC, OGTD, CDGS, LDCN, 10, 1); Assert.assertTrue(lista.size() >= 0); System.ut.println("Ttale listaprprietari===" + lista.size()); fr (PrprietariResult result : lista) System.ut.println("-> " + result.getnme()); System.ut.println("\n"); Infine sn dispnibili I metdi per leggere il dettagli di una scheda (caricabene) String cdice = "1201030222 ; String user = "direzinepsae"; String grupp = "ICCD0"; String passwd = "dzae1884"; Bene bene = null; bene = prt.caricabene(user, passwd,grupp, cdice); Assert.assertTrue(bene.getCdice().equals(cdice)); System.ut.println("Bene===" + bene.getcdice()); 19 Istitut Centrale per il Catalg e la Dcumentazine
System.ut.println(bene.tString()); System.ut.println("\n"); E la relativa imagine principale (caricaimmagine) String cdice = "1201030222"; String user = "direzinepsae"; String grupp = "ICCD0"; String passwd = "dzae1884"; Immagine img = null; img = prt.caricaimmagine(user, passwd,grupp, cdice); System.ut.println("caricaImmagine=== ECP:" +img.getecp()+" FTAN:"+img.getFtan()); System.ut.println("caricaImmagine===" +img.getcntent().getcntenttype()); System.ut.println("\n"); I metdi listabeni, caricabene e caricaimmagine pssn essere cmpsti: String user = "direzinepsae"; String passwd = "dzae1884"; String grupp = "ICCD0"; String NCTR = "12"; String PVCP = "RM"; String PVCC = "Rma"; String OGTD = "scultura";//"scultura"; String CDGS = ""; String LDCN = "Palazz";//"Chiesa della S.ma Annunziata"; Bene bene = null; Immagine img = null; int pagina=1; //pagina e risultati errati int risultati=10; List<BeneResult> lista = prt.listabeni(user, passwd,grupp, NCTR, PVCP, PVCC, OGTD, CDGS, LDCN, risultati, pagina); Assert.assertTrue(lista.size() >= 0); System.ut.println("Ttale listabeni===" + lista.size()); fr (BeneResult result : lista){ System.ut.println("-> " + result.getcdice() + " - " + result.getdefinizine()); bene = prt.caricabene(user, passwd,grupp, result.getcdice()); System.ut.println("bene.getEsc()===" +bene.getesc().tstring()); System.ut.println("bene.getOgtd()===" +bene.getogtd().tstring()); img = prt.caricaimmagine(user, passwd,grupp, result.getcdice()); System.ut.println("caricaImmagine=== ECP:" +img.getecp()+" FTAN:"+img.getFtan()); System.ut.println("caricaImmagine==="+img.getCntent().getCntentType()); System.ut.println("\n"); System.ut.println("\n"); 20 Istitut Centrale per il Catalg e la Dcumentazine
21 Istitut Centrale per il Catalg e la Dcumentazine