struttura WS_FAULT (webservices.h)
Un errore è un valore trasportato nel corpo di un messaggio che comunica un errore di elaborazione. Gli errori vengono modellati usando la struttura WS_FAULT .
Sintassi
typedef struct _WS_FAULT {
WS_FAULT_CODE *code;
WS_FAULT_REASON *reasons;
ULONG reasonCount;
WS_STRING actor;
WS_STRING node;
WS_XML_BUFFER *detail;
} WS_FAULT;
Members
code
Capo dell'elenco dei codici di errore che identifica il tipo di errore.
I codici di errore vengono ordinati dalla più generica alla più specifica. Deve essere presente almeno un codice di errore. Il primo codice di errore deve corrispondere a un codice di errore definito da SOAP. Per WS_ENVELOPE_VERSION_SOAP_1_1, viene serializzato solo il codice di errore più specifico (il primo nell'elenco).
Se l'URI dello spazio dei nomi del primo codice di errore è la stringa vuota, il primo codice di errore verrà trasformato come segue quando l'errore viene serializzato, come indicato di seguito:
- Lo spazio dei nomi SOAP appropriato verrà usato in base al WS_ENVELOPE_VERSION.
- Se il nome locale è "Sender" quando si usa WS_ENVELOPE_VERSION_SOAP_1_1, verrà invece usato "Client".
- Se il nome locale è "Receiver" quando si usa WS_ENVELOPE_VERSION_SOAP_1_1, verrà usato invece "Server".
reasons
Testo che descrive l'errore. Si tratta di una matrice che consente lingue diverse.
reasonCount
Numero di motivi nella matrice dei motivi. Questo sarebbe più di uno se il testo fosse rappresentato in più lingue. Deve esserci almeno un motivo di errore.
Per WS_ENVELOPE_VERSION_SOAP_1_1, viene serializzato solo il primo motivo.
actor
Nome del processore che ha causato l'errore. Se la stringa è di lunghezza zero, si presuppone che sia l'endpoint.
node
Posizione del processore che ha causato l'errore. Se la stringa è di lunghezza zero, si presuppone che sia l'endpoint.
Per WS_ENVELOPE_VERSION_SOAP_1_1, questo valore non viene serializzato.
detail
Il dettaglio dell'errore consente di includere il contenuto XML insieme all'errore. Se non sono presenti dettagli, questo campo può essere NULL.
Per WS_ENVELOPE_VERSION_SOAP_1_1, questa operazione deve essere usata solo se l'errore non è correlato all'elaborazione di un'intestazione del messaggio. Gli errori relativi alle intestazioni devono usare un'intestazione personalizzata per inoltrare informazioni sull'errore.
Se è presente un dettaglio per l'errore, il WS_XML_BUFFER deve contenere un elemento che corrisponde all'elemento dettaglio di un errore SOAP. Il contenuto XML specifico dell'errore è contenuto nell'elemento detail. Il nome locale e lo spazio dei nomi dell'elemento vengono ignorati; vengono sostituiti con il nome dell'elemento appropriato in base al WS_ENVELOPE_VERSION quando viene scritto l'elemento di dettaglio.
Requisiti
Client minimo supportato | Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2 [app desktop | App UWP] |
Intestazione | webservices.h |