Differenze tra le versioni di "Servizio generico di interrogazione database."
imported>Dpizzagalli (Creata pagina con "== Configurazione Sistema == Il sistema puo' essere configurato tramite l'interfaccia accessibile da: Sistema > Common > Webservice > Servizio generico di interrogazione datab...") |
imported>MFontana |
||
(3 versioni intermedie di un altro utente non mostrate) | |||
Riga 12: | Riga 12: | ||
=== Permesso utentiruoli === | === Permesso utentiruoli === | ||
Solo gli utenti che hanno il permesso "Espressioni -> Webservice QueryTool" sono in grado di consumare il servizio, percio' e' necessario fornire il permesso (Tramite i classici menu di Utenti/Ruoli) a colui che dovra' collegarsi al sistema. | Solo gli utenti che hanno il permesso "Espressioni -> Webservice QueryTool" sono in grado di consumare il servizio, percio' e' necessario fornire il permesso (Tramite i classici menu di Utenti/Ruoli) a colui che dovra' collegarsi al sistema. | ||
=== WSDL === | |||
E' possibile avere il file wsdl di riferimento: [http://sicrawebhelp.saga.it/images/4/40/ExpWSSQueryTool.xml ExpWSSQueryTool.wsdl]. | |||
== Consumazione Servizio (Informazioni Tecniche) == | == Consumazione Servizio (Informazioni Tecniche) == | ||
=== Parametri === | === Parametri === | ||
Riga 17: | Riga 19: | ||
* '''Password''': Password dell'utente sicraweb | * '''Password''': Password dell'utente sicraweb | ||
* '''j2eeUsername''': Utente j2ee del comune a cui connettersi | * '''j2eeUsername''': Utente j2ee del comune a cui connettersi | ||
* ''' | * '''j2eePassword''': Passowrd j2ee del comune a cui connettersi | ||
* '''queryDescriptor -> content''': Select SQL o HQL da eseguire. | * '''queryDescriptor -> content''': Select SQL o HQL da eseguire. | ||
* '''queryDescriptor -> outputFormat''': Stringa che rappresenta il tipo di formato in output (segue l'elenco dei formati supportati) | * '''queryDescriptor -> outputFormat''': Stringa che rappresenta il tipo di formato in output (segue l'elenco dei formati supportati) | ||
* '''queryDescriptor -> compression''': Flag (boolean) che serve per richiedere o meno la compressione del dati in output a livello applicativo (La compressione avviene in formato ZLib: [http://en.wikipedia.org/wiki/Zlib]) | * '''queryDescriptor -> compression''': Flag (boolean) che serve per richiedere o meno la compressione del dati in output a livello applicativo (La compressione avviene in formato ZLib: [http://en.wikipedia.org/wiki/Zlib]) | ||
=== Formati supportati === | === Formati supportati === | ||
* CSV = | * CSV = Semicolon-separated values | ||
* CSV_COMMA = Comma-separated values | * CSV_COMMA = Comma-separated values | ||
* CSV_PIPE = Pipe-separated values | * CSV_PIPE = Pipe-separated values | ||
* CSV_SEMICOLON = Semicolon-separated values | * CSV_SEMICOLON = Semicolon-separated values (uguale a CSV) | ||
* XLS = Excel Binary File Format | * XLS = Excel Binary File Format | ||
=== Esempio Consumazione JAVA 7 === | === Esempio Consumazione JAVA 7 === | ||
File testFile = new File("utenti_sicraweb.csv"); | File testFile = new File("utenti_sicraweb.csv"); |
Versione attuale delle 13:15, 23 ago 2017
Configurazione Sistema
Il sistema puo' essere configurato tramite l'interfaccia accessibile da: Sistema > Common > Webservice > Servizio generico di interrogazione database > [Icona ingranaggi di configurazione]
White List
Per ovvie ragioni di sicurezza, il sistema e' stato strutturato in modo da bloccare ogni accesso ad informazioni fuori dalle tabelle consentite. Premendo il pulsante "Nuovo" e' possibile aggiungere le tabelle interrogabili dall'esterno, ogni query che andra' a toccare tabelle non in questa lista verra' bloccata.
Dimensione massima risultati
E' possibile impostare un limite di dimensioni ai dati esportati dal servizio (al default sono 500MB).
Record eventi
Ogni query eseguita, come ogni query la cui esecuzione viene bloccata (per tentativi di accessi a tabelle inaccessibili o problemi di sicurezza vari), vengono registrate all'interno degli eventi di sistema. (Accessibili sia dal pulsante "Record eventi" del pannello di configurazione del webservice, sia da Configurazione > Sistema > Eventi > Visualizzazione > Applicazione : "Espressioni")
Permesso utentiruoli
Solo gli utenti che hanno il permesso "Espressioni -> Webservice QueryTool" sono in grado di consumare il servizio, percio' e' necessario fornire il permesso (Tramite i classici menu di Utenti/Ruoli) a colui che dovra' collegarsi al sistema.
WSDL
E' possibile avere il file wsdl di riferimento: ExpWSSQueryTool.wsdl.
Consumazione Servizio (Informazioni Tecniche)
Parametri
- Username: Login dell'utente sicraweb con il quale utilizzare il webservice
- Password: Password dell'utente sicraweb
- j2eeUsername: Utente j2ee del comune a cui connettersi
- j2eePassword: Passowrd j2ee del comune a cui connettersi
- queryDescriptor -> content: Select SQL o HQL da eseguire.
- queryDescriptor -> outputFormat: Stringa che rappresenta il tipo di formato in output (segue l'elenco dei formati supportati)
- queryDescriptor -> compression: Flag (boolean) che serve per richiedere o meno la compressione del dati in output a livello applicativo (La compressione avviene in formato ZLib: [1])
Formati supportati
- CSV = Semicolon-separated values
- CSV_COMMA = Comma-separated values
- CSV_PIPE = Pipe-separated values
- CSV_SEMICOLON = Semicolon-separated values (uguale a CSV)
- XLS = Excel Binary File Format
Esempio Consumazione JAVA 7
File testFile = new File("utenti_sicraweb.csv"); //Le seguenti linee sfruttano classi autogenerate dall'import wsdl ExpWSSQueryToolServiceLocator s = new ExpWSSQueryToolServiceLocator(); ExpWSSQueryTool q = s.getExpWSSQueryTool(); ExpWSSQueryDescriptor d = new ExpWSSQueryDescriptor(); d.setContent("select a.login, a.descrizione from UtrDACUtentiruoli a"); d.setOutputFormat("CSV"); // Comma-separated d.setCompression(Boolean.TRUE); //Comprimo in ZLib ByteArrayInputStream bais = new ByteArrayInputStream(q.executeSelectHQL("marioRossi","secretPw", "sicraweb_roma", "password_roma", d)); GZIPInputStream gz = new GZIPInputStream(bais); Files.copy(gz, testFile.toPath()); gz.close(); bais.close();