Universal Web Platform · La risposta e gli errori

La risposta WebServiceResponse: stato, errori e dati

Ogni chiamata restituisce un WebServiceResponse (ImportMulti un WebServiceMultiResponse), anche in caso di errore. Leggi sempre prima lo stato e l'elenco degli errori, poi i dati.

I campi di WebServiceResponse

CampoTipoA cosa serve
StatusTestoEsito della chiamata: vedi la tabella qui sotto.
RequestDataOperationInteroL'operazione richiesta, ripetuta.
RequestSQLFilterTestoIl filtro richiesto, ripetuto.
ResponseGuidPCTestoLa postazione della richiesta, ripetuta.
TypeObjectInteroIl tipo di dato della richiesta.
ResponseStringTestoMessaggio del server; in caso di rifiuto è il motivo.
LastSQLExecuteTestoL'ultima istruzione eseguita sul database: utile per capire filtri e letture.
ErrorListElenco di WebServiceErrorGli errori, uno per record scartato o per motivo di rifiuto.
IsDatabaseReopenVero/falsoSempre vero; mantenuto per compatibilità.
ObjectList<Classe>ElencoPer QUERY i record letti, nella lista del tipo. Dopo la scrittura di Immagini degli articoli e File degli articoli un elemento per ogni record inviato, nello stesso ordine, con l'indirizzo pubblico del file salvato in URLExportFoto (vuoto se il file non è stato salvato).
ObjectListCountingElenco di CountingCon Counting il numero dei record in [0].Number.

I valori di Status

StatusQuandoChe cosa fare
OKTutto eseguito.Prosegui.
ALERTUno o più record scartati in scrittura o cancellazione; in ImportMulti, conferme non registrate.Leggi ErrorList, correggi e rinvia i soli record in errore.
WARNINGImportMulti: almeno una delle letture ha avuto un problema.Controlla lo stato di ogni elemento di Responses.
FAILEDLettura o svuotamento non riusciti, per esempio per un SQLFilter sbagliato; in ImportMulti, richiesta non valida (limiti superati, tipi duplicati, postazione mancante).Leggi il messaggio in ErrorList e correggi la richiesta.
keyinvalidChiave mancante, sbagliata, disattivata o senza permesso.Vedi le risposte di rifiuto.
koRichiesta illeggibile o errore imprevisto.Leggi ErrorList: contiene il messaggio e, se il corpo non è stato capito, il testo ricevuto e la diagnostica della compressione.

Confronta lo stato senza distinguere maiuscole e minuscole: la ricostruzione dopo l'esportazione, per esempio, risponde ok.

Un errore di scrittura

Risposta (estratto)
{
  "Status": "ALERT",
  "RequestDataOperation": 0,
  "TypeObject": 19,
  "ErrorList": [
    { "TypeObject": 19, "ElementNumber": 2, "SourceError": "Riga n° 3: Descrizione non specificato" }
  ]
}

Il terzo articolo della lista (indice 2) non aveva la descrizione: gli altri sono stati salvati.

Errori di trasporto

Se la chiamata non arriva al server (rete, certificato, timeout) non c'è risposta da leggere: ripeti la chiamata dopo una breve attesa. La libreria .NET lo fa da sola, fino a tre volte. Le scritture si possono ripetere senza danni, perché INSERTORMODIFY aggiorna i record già presenti invece di duplicarli (purché AllInsert sia falso).