Fault Code

Per ogni chiamata applicativa, il soggetto chiamato in causa (Nodo dei Pagamenti, EC o PSP) deve dare una risposta che può essere:

  • OK

  • KO (con struttura Fault Bean che include un faultCode)

Struttura faultCode

Il faultCode deve avere la seguente struttura:

<erogatore>_<codice errore>

dove <erogatore> può assumere uno dei seguenti valori:

I faultCode:

  • <erogatore>_SYSTEM_ERROR possono essere restituiti da qualsiasi primitiva;

  • <erogatore>_SEMANTICA sono definiti genericamente per ogni primitiva, e qualsiasi errore di tipo semantico che non possa essere ricondotto ad un faultCode specifico può essere segnalato in questo modo.

Categorie di faultCode

  1. Validazione sintattica: validazione del messaggio in riferimento a WSDL e XSD.

  2. Configurazione chiamante: dati forniti dal chiamante relativi a se stesso.

  3. Configurazione controparte: dati forniti dal chiamante per indirizzare la chiamata verso la controparte (non per forza presente e, se presente, solo per chiamate end-to-end).

  4. Messaggio duplicato: controllo su determinati tipologie di messaggi in relazione al processamento già eseguito della chiamata (si basa in genere su “chiavi”).

  5. Errori semantici rilevati dal soggetto chiamato in causa (EC, PSP, Nodo).

  6. Connessione a controparte (non per forza presente, solo per chiamate end-to-end).

  7. Timeout controparte/altri sistemi (non per forza presente).

  8. Errore emesso da controparte (non per forza presente): con la nuova gestione del faultBean sarà presente anche il campo originalFaultCode, che riporta l’errore emesso effettivamente dalla controparte.

  9. Errore response controparte (non per forza presenti).

  10. Altro.

Last updated