Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
aggiornamento: 22/09/2021 MOE‐A018 Rev. 08
WEB SERVICES METHOD 1
INTERROGAZIONE REMOTA
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via San Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
Indice
1. Introduzione pag. 3
2. Requisiti per l’utilizzo pag. 3
3. Endpoint Address pag. 3
4. WSDL pag. 3
5. Servizio News pag. 3
6. Servizi pag. 4
6.1. GetEnabledDataSet pag. 4
6.2. GetSchemaDataSet pag. 6
6.3. ExecuteQuery pag. 7
7. Esempi di chiamate ai Servizi pag. 13
8. Configurazione Binding lato client pag. 14
Pag. 2 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
1) Introduzione
Il presente documento descrive i Web Services implementati da Farmadati Italia per l’interrogazione
remota delle proprie Banche Dati.
2) Requisiti per l’utilizzo
Connessione Internet DSL
Framework/linguaggio di programmazione che consenta la comunicazione ai Web Services
tramite protocollo SOAP
3) Endpoint Address
L’URL endpoint che l’applicazione Client deve specificare per accedere ai Web Services Farmadati
Italia è (a seconda del protocollo che si desidera utilizzare):
HTTP: http://webservices.farmadati.it/WS2/FarmadatiItaliaWebServicesM1.svc
HTTPS: https://webservices.farmadati.it/WS2S/FarmadatiItaliaWebServicesM1.svc
4) WSDL
La descrizione dei Web Services Farmadati Italia è disponibile al seguente indirizzo (a seconda del
protocollo che si desidera utilizzare):
HTTP: http://webservices.farmadati.it/WS2/FarmadatiItaliaWebServicesM1.svc?singleWsdl
HTTPS: https://webservices.farmadati.it/WS2S/FarmadatiItaliaWebServicesM1.svc?singleWsdl
5) Servizio News
Per ogni Tabella è presente un servizio di News Feed, fornito tramite documento XML, nel quale
vengono trasmesse le comunicazioni relative a variazione di contenuti o del tracciato dei campi
(Per dettagli vedere paragrafo 6.1).
Pag. 3 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
6) Servizi
I Web Services disponibili sono:
GetEnabledDataSet
GetSchemaDataSet
ExecuteQuery
6.1) GetEnabledDataSet
Il Servizio fornisce all’Utente l’elenco delle Tabelle abilitate.
Parametri in INPUT:
<GetEnabledDataSet>
<Username>string</Username>
<Password>string</Password>
</GetEnabledDataSet>
Parametri in OUTPUT:
<GetEnabledDataSet_Output>
<CodEsito>string</CodEsito>
<DescEsito>string</DescEsito>
<SetDati>
<Key>string</Key>
<Description>string</Description>
<UrlNews>string<UrlNews>
<SchemaCode>int</SchemaCode>
</SetDati>
<SetDati>
<Key>string</Key>
<Description>string</Description>
<UrlNews>string<UrlNews>
<SchemaCode>int</SchemaCode>
</SetDati>
</GetEnabledDataSet_Output>
Pag. 4 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
Chiamando il Servizio con i parametri in input:
Username
Password
si otterrà in risposta un oggetto GetEnabledDataSet_Output, formato da:
[CodEsito] ‐ Codice Esito: “OK” se l’esito della chiamata al Servizio è positivo, “ERR” se negativo
[DescEsito] ‐ Descrizione Esito: “OK” se esito positivo, messaggio dell’errore se in caso negativo
Array di oggetti [Tabelle]
Ogni oggetto Tabella è composto da:
[Key] ‐ Codice della Tabella (Es: “PARAFARM”)
[Description] ‐ Descrizione della Tabella ‐ (Es: “Tabella per prodotti Parafarmaceutici”)
[UrlNews] ‐ WebURL del file XML di News
Questo file, di struttura simile ad un Feed RSS in formato XML, contiene tutte le
comunicazioni trasmesse da Farmadati Italia riguardanti la Tabella.
Ad esempio: comunicazioni relative a variazioni di tracciato, informazioni sul contenuto e
significato dei campi, avvisi sulle eventuali manutenzioni del Servizio.
[SchemaCode] ‐ Codice Schema Tabella (versione del tracciato record)
Pag. 5 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
6.2) GetSchemaDataSet
Il Servizio fornisce all’Utente lo Schema (tracciato record) della Tabella specificato in Input.
Parametri in INPUT:
<GetSchemaDataSet>
<Username>string</Username>
<Password> string</Password>
<CodiceSetDati>string</CodiceSetDati>
</GetSchemaDataSet>
Parametri in OUTPUT:
<GetSchemaDataSet_Output>
<CodEsito> string</CodEsito>
<DescEsito> string</DescEsito>
<Field>
<IdNum>int</IdNum>
<Key>string</Key>
<Description>string</Description>
<Type>string</Type>
<Length>string</Length>
</Field>
<Field>
<IdNum>int</IdNum>
<Key>string</Key>
<Description>string</Description>
<Type>string</Type>
<Length>string</Length>
</Field>
<SchemaCode>int</SchemaCode>
</GetSchemaDataSet_Output >
Chiamando il Servizio con i parametri in input:
Username
Password
[CodiceSetDati] ‐ Codice della Tabella (parametro [Key], paragrafo 6.1)
si otterrà in risposta un oggetto GetSchemaDataSet_Output, formato da:
[CodEsito] ‐ Codice Esito: “OK” se l’esito è positivo, “ERR” se negativo
[DescEsito] ‐ Descrizione Esito: “OK” se esito positivo, messaggio dell’errore se negativo
Array di oggetti [Field]
Ogni oggetto Field è composto da:
[IdNum] ‐ Posizione del campo nello Schema della Tabella (intero progressivo)
Il Campo con [IdNum] valorizzato a 1 è la Chiave univoca della Tabella
[Key] ‐ Codice identificativo del campo (Es: “FDI_0041”)
[Description] ‐ Descrizione logica del campo (Es: “Ragione sociale ditta produttrice 1”)
[Type] ‐ Formato del contenuto del campo (Es: “VARCHAR”)
[Length] ‐ Lunghezza massima del campo (Es: ”40”)
Esempio:
Pag. 6 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
Key Type Description Length
FDI_0001 VARCHAR Codice prodotto 9
FDI_0004 VARCHAR Descrizione prodotto 20
FDI_0245 VARCHAR Commercio 1
FDI_0467 NUMERIC Prezzo 1 8,3
FDI_0249 DATE Data 1a registrazione
[SchemaCode] ‐ Codice Schema Tabella (versione del tracciato record)
6.3) ExecuteQuery
Il Servizio permette all’Utente di effettuare Query personalizzate sulla Tabella specificato in Input.
Parametri in INPUT:
<ExecuteQuery>
<Username>string</Username>
<Password>string</Password>
<CodiceSetDati>string</CodiceSetDati>
<CampiDaEstrarre>
<string>string</string>
<string>string</string>
</CampiDaEstrarre>
<Filtri>
<Filter>
<Key>string</Key>
<Operator>string</Operator>
<OrGroup>int</OrGroup>
<Value>string</Value>
</Filter>
<Filter>
<Key>string</Key>
<Operator>string</Operator>
<OrGroup>int</OrGroup>
<Value>string</Value>
</Filter>
</Filtri>
<Ordinamento>
<Order>
<Key>string</Key>
<OrderType>string</OrderType>
</Order>
<Order>
<Key>string</Key>
<OrderType>string</OrderType>
</Order>
</Ordinamento>
<Distinct>boolean</Distinct>
<Count>boolean</Count>
<PageN>int</PageN>
<PagingN>int</PagingN>
</ExecuteQuery>
Pag. 7 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
Parametri in OUTPUT:
<ExecuteQuery_Output>
<CodEsito>string</CodEsito>
<DescEsito>string</DescEsito>
<RecordsPerPage >int</RecordsPerPage>
<NumRecords >int</NumRecords>
<Page>int</Page>
<OutputValue>string</OutputValue>
</ExecuteQuery_Output>
Di seguito il significato dei parametri in input necessari per effettuare la chiamata al Servizio
ExecuteQuery:
[Username]
[Password]
[CodiceSetDati]: Codice della Tabella su cui si desidera effettuare la Query
[CampiDaEstrarre]: Array di Codici identificativi dei campi che si desidera estrarre in output (la
lista completa dei campi che compongono la Tabella è ottenuta tramite il Servizio
GetSchemaDataSet – vedi paragrafo 6.2).
Se si ha la necessità di estrarre dalla Query tutti i campi presenti nella Tabella, è possibile
indicare nella prima stringa dell’Array il valore speciale “ALL” (vedi esempi paragrafo 7).
[Filtri]: Array di oggetti [Filter]. Un filtro è una condizione applicata alla Query.
Ogni oggetto Filter è composto dai seguenti parametri:
[Key]: Codice identificativo del Campo
[Operator]: E’ una stringa alfanumerica che rappresenta l’operatore di confronto.
Gli Operatori disponibili sono:
Per tutti i formati:
o “=” (uguale a)
o “<>” (diverso da)
o “CAMPO VUOTO”
o “CAMPO NON VUOTO”
Per valori alfanumerici:
o “CONTIENE”
o “NON CONTIENE”
o “INIZIA PER”
o “TERMINA PER”
Per valori numerici:
o “>” (maggiore di)
o “<” (minore di)
o “>=” (maggiore o uguale a)
Pag. 8 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
o “<=” (minore o uguale a)
OrGroup:
Gli oggetti Filter con OrGroup valorizzato a 0 (zero) sono eseguiti in AND.
Per impostare due o più oggetti Filter in OR tra loro, valorizzare il parametro OrGroup con
un numero intero maggiore di zero.
Ciascun gruppo di oggetti Filter in OR (con stesso OrGroup) è eseguito in AND.
Esempio 1:
Key (CAMPO) Operator (OPERATORE) Value (VALORE) OrGroup(GRUPPO FILTRI IN OR)
FDI_0248 = 10 0
FDI_1228 <> MEDICAL 0
FDI_1023 CONTIENE PARACETAMOLO 1
FDI_1023 CONTIENE IBUPROFENE 1
Il Servizio elabora i filtri impostati nell’esempio 1 nel seguente modo:
ESTRAI TUTTI I RECORD CHE SODDISFANO LA CONDIZIONE FDI_0248 = 10 AND FDI_1228 <> ‘MEDICAL’ AND
(FDI_1023 CONTIENE PARACETAMOLO OR FDI_1023 CONTIENE IBUPROFENE)
Esempio 2:
Key (CAMPO) Operator (OPERATORE) Value (VALORE) OrGroup(GRUPPO FILTRI IN OR)
FDI_0248 = 10 1
FDI_1228 <> MEDICAL 1
FDI_1023 CONTIENE PARACETAMOLO 2
FDI_1023 CONTIENE IBUPROFENE 2
Il Servizio elabora i filtri impostati nell’esempio 2 nel seguente modo:
ESTRAI TUTTI I RECORD CHE SODDISFANO LA CONDIZIONE (FDI_0248 = 10 OR FDI_1228 <> ‘MEDICAL’) AND
(FDI_1023 CONTIENE PARACETAMOLO OR FDI_1023 CONTIENE IBUPROFENE)
[Value]: Valore del Campo che deve soddisfare la condizione impostata
[Ordinamento]: Array di oggetti [Order].
E’ possibile specificare uno o più criteri di ordinamento dei record di Output prodotti
dall’elaborazione della Query.
Ogni oggetto Order è composto da:
[Key]: Codice identificativo del Campo
[OrderType]: Tipo di ordinamento applicato, è possibile valorizzare questo parametro con
le stringhe “CRESCENTE” oppure “DESCRESCENTE”, se non valorizzato di default sarà
applicato un ordinamento CRESCENTE.
L’ordinamento è applicato in sequenza dal primo all’ultimo campo dell’Array.
Esempio:
Key(CAMPO) TIPO ORDINAMENTO (OrderType)
FDI_0248 CRESCENTE
FDI_1228 DECRESCENTE
Il Servizio elabora i l’ordinamento impostato nell’esempio nel seguente modo:
ORDINA LA QUERY PER IL CAMPO FDI_0248 IN MODO CRESCENTE, POI PER FDI_1228 IN MODO DECRESCENTE.
Pag. 9 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
[Distinct] (booleano*): Se valorizzato a true, la Query restituisce univocamente tutti i valori che
può assumere il campo specificato nell’Array CampiDaEstrarre.
[Count] (booleano*): Se valorizzato a true, la Query restituisce il numero dei record referenziati
nella Tabella specificato (considerando eventuali filtri impostati).
[PageN]: Numero di pagina richiesto. La prima pagina è 1.
[PagingN]: Numero di record per pagina. Valore minimo 1, massimo 100.
*I parametri booleani nella richiesta XML sono CASE SENSITIVE e vanno indicati in minuscolo.
Valori ammessi: “true”, “false”, 1, 0.
Nota importante: L’output dei record è paginato, ogni pagina contiene a scelta da 1 a 100 record.
Per scaricare tutti i record prodotti dalla Query effettuata, è necessario chiamare il Servizio una o più
volte di seguito, indicando in input il numero di pagina in modo incrementale fino ad ottenere in
risposta una pagina vuota, identificabile con i parametri OutputValue = “EMPTY” e/o NumRecords =
0.
Il Servizio ExecuteQuery restituisce OUTPUT differenti a seconda dei parametri specificati in INPUT.
Di seguito il dettaglio delle tipologie di chiamata al Servizio:
1. Chiamata STANDARD (in OUTPUT sono restituiti i record composti dai Campi Da Estrarre indicati e
che soddisfano le condizioni di filtro ed ordinamento eventualmente impostate)
Parametri INPUT:
Username
Password
CodiceSetDati
CampiDaEstrarre: indicare uno o più codici campo, oppure “ALL”
Filtri: non valorizzato, oppure uno o più oggetti Filter
Ordinamento: non valorizzato, oppure uno o più oggetti Order
Distinct: indicare a false
Count: indicare a false
PageN: indicare la pagina richiesta (a partire dalla pagina 1)
PagingN: indicare il numero dei record che conterranno le pagine (da 1 a 100)
Pag. 10 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
Parametri OUTPUT:
CodEsito: “OK” se esito positivo, “ERR” se esito negativo
DescEsito: “OK” se esito positivo, messaggio di errore se esito negativo
RecordsPerPage: numero di record per pagina (parametro a scelta impostati in input
NumRecords: record effettivi restituiti in output contenuti dalla pagina richiesta
Page: numero di pagina richiesta
OutputValue: stringa XML contenente i record della pagina richiesta
NB: i tag XML dei campi vuoti (con valore NULL) non sono presenti all’interno del record.
2. Chiamata VALORI UNIVOCI (in OUTPUT sono restituiti i valori univoci che assume il campo
specificato in INPUT nei Campi Da Estrarre)
Parametri INPUT:
Username
Password
CodiceSetDati
CampiDaEstrarre: indicare il solo codice del campo scelto
Filtri: non specificare
Ordinamento: solo sul campo scelto, in modo CRESCENTE o DESCRESCENTE
Distinct: indicare a true
Count: indicare a false
PageN: indicare la pagina richiesta (a partire dalla pagina 1)
PagingN: indicare il numero dei record che conterranno le pagine (da 1 a 100)
Parametri OUTPUT:
CodEsito: “OK” se esito positivo, “ERR” se esito negativo
DescEsito: “OK” se esito positivo, messaggio di errore se esito negativo
RecordsPerPage: numero di record per pagina impostati in input
NumRecords: record effettivi restituiti in output contenuti dalla pagina
Page: numero di pagina impostata in input
OutputValue: stringa XML contenente i valori univoci della pagina richiesta
NB: i tag XML dei campi vuoti (con valore NULL) non sono presenti all’interno del record.
Pag. 11 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
3. Chiamata CONTEGGIO RECORD (in OUTPUT è restituito il numero dei record referenziati nella
Tabella specificato considerando eventuali filtri impostati)
Parametri INPUT:
Username
Password
CodiceSetDati
CampiDaEstrarre: indicare “ALL”
Filtri: non valorizzato, oppure uno o più oggetti Filter
Ordinamento: non valorizzato
Distinct: indicare a false
Count: indicare a true
PageN: non significativo, indicare 1
PagingN: non significativo, indicare 1
Parametri OUTPUT:
CodEsito: “OK” se esito positivo, “ERR” se esito negativo
DescEsito: “OK” se esito positivo, messaggio di errore se esito negativo
RecordsPerPage: non significativo
NumRecords: numero dei record che soddisfano i criteri impostati (numero intero)
Page: non significativo
OutputValue: numero dei record che soddisfano i criteri impostati (in formato alfanumerico)
Pag. 12 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
7) Esempi di chiamate ai Servizi
Di seguito sono riportati esempi sulle chiamate ai Servizi in linguaggio C#.
In ambiente MS Visual Studio (Framework .Net) per poter utilizzare i Web Services Farmadati Italia è
necessario aggiungere ai Riferimenti ai Servizi (Service References) della propria applicazione l’indirizzo
di Endpoint specificato al paragrafo 4.
All’interno della propria classe dichiarare ed inizializzare il Client di comunicazione:
//INIZIALIZZO IL CLIENT
FarmadatiItaliaWebServicesM1Client FDClient = new FarmadatiItaliaWebServicesM1Client();
//CHIAMATA AL SERVIZIO GetEnabledDataSet:
GetEnabledDataSet_Output DSEnabled = FDClient.GetEnabledDataSet(Username, Password);
if (DSEnabled.CodEsito != "OK") { MessageBox.Show("ERRORE: " + DSEnabled.DescEsito); return; }
//CHIAMATA AL SERVIZIO GetSchemaDataSet:
GetSchemaDataSet_Output SchemaDS = FDClient.GetSchemaDataSet(Username, Password, "FARM");
if (SchemaDS.CodEsito != "OK") { MessageBox.Show("ERRORE: " + SchemaDS.DescEsito); return; }
//ESEMPI DI CHIAMATE AL SERVIZIO ExecuteQuery:
//1) INTERROGO la Tabella CON UN FILTRO (OTTENGO TUTTI I VALORI DEI CAMPI RELATIVI ALL’AIC “00024591”)
Filter [] filtri = new Filter[1];
filtri[1].Key="FDI_0001";
filtri[1].Operator="=";
filtri[1].Value="00024591";
filtri[1].OrGroup=0;
ExecuteQuery_Output RS = FDClient.ExecuteQuery(Username, Password, "FARM", new string[] {"ALL"}, filtri, r, false,
false, 1, 1);
if (RS.CodEsito != "OK") { MessageBox.Show("ERRORE: " + RS.DescEsito); return; }
if (RS.OutputValue == "EMPTY") { MessageBox.Show("Nessun record soddisfa i criteri impostati"); return; }
//2) INTERROGO la Tabella CON UN FILTRO (OTTENGO I RECORDS CHE SODDISFANO IL FILTRO IMPOSTATO)
Filter [] filtri = new Filter[1];
filtri[1].Key="FDI_0234";
filtri[1].Operator="=";
filtri[1].Value="IBUPROFENE";
filtri[1].OrGroup=0;
ExecuteQuery_Output RS = FDClient.ExecuteQuery(Username, Password, "FARM", new string[] {"ALL"}, filtri, r, false,
false, 1, 100);
if (RS.CodEsito != "OK") { MessageBox.Show("ERRORE: " + RS.DescEsito); return; }
if (RS.OutputValue == "EMPTY") { MessageBox.Show("Nessun record soddisfa i criteri impostati"); return; }
//(SUGGERIMENTO: UTILIZZO L’OGGETTO DataSet DEL FRAMEWORK .NET PER GESTIRE I RECORD OTTENUTI IN OUTPUT)
DataSet dataSet = new DataSet();
dataSet.ReadXml(new System.Xml.XmlTextReader(new System.IO.StringReader(RS.OutputValue)));
Pag. 13 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336
8) Configurazione Binding lato Client
NOTA IMPORTANTE:
Per un completo funzionamento della comunicazione tra l’applicazione Client ed i Servizi Web Farmadati
e per scaricare correttamente i pacchetti byte delle Tabelle, potrebbe essere necessario estendere il
limite massimo dei timing e delle dimensioni dei messaggi in ingresso nella configurazione del binding.
Ad esempio, su framework .NET modificare il file di configurazione dell’applicazione Client (app.config),
settando i parametri
maxBufferSize, maxBufferPoolSize, maxReceivedMessageSize, maxStringContentLength,
maxArrayLength, maxBytesPerRead, maxNameTableCharCount
ad un valore maggiore, ad esempio: 2147483647
Es:
<basicHttpBinding>
<binding name="BasicHttpBinding_FarmadatiItaliaWebServicesM2"
maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"
closeTimeout="00:15:00" openTimeout="00:15:00" receiveTimeout="00:15:00"
sendTimeout="00:15:00">
<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647"/>
</binding>
</basicHttpBinding>
Pag. 14 di 14
©Farmadati Italia s.r.l. Tutti i diritti riservati.
E‐mail: bdf@farmadati.it ‐ Web: www.farmadati.it
Via S. Francesco, 8 ‐ 29121 Piacenza ‐ Tel +39 0523 336933 ‐ Fax +39 0523 335391
C.C.I.A.A. PC n. 132067 ‐ Reg. Soc. Trib. PC n. 14832 ‐ Cod. Fisc. e P.IVA 01169830336