enumerazione WS_MESSAGE_PROPERTY_ID (webservices.h)
Ogni proprietà del messaggio è di tipo WS_MESSAGE_PROPERTY, è identificata da un ID e ha un valore associato.
Sintassi
typedef enum {
WS_MESSAGE_PROPERTY_STATE = 0,
WS_MESSAGE_PROPERTY_HEAP = 1,
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION = 2,
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION = 3,
WS_MESSAGE_PROPERTY_HEADER_BUFFER = 4,
WS_MESSAGE_PROPERTY_HEADER_POSITION = 5,
WS_MESSAGE_PROPERTY_BODY_READER = 6,
WS_MESSAGE_PROPERTY_BODY_WRITER = 7,
WS_MESSAGE_PROPERTY_IS_ADDRESSED = 8,
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES = 9,
WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES = 10,
WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES = 11,
WS_MESSAGE_PROPERTY_IS_FAULT = 12,
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS = 13,
WS_MESSAGE_PROPERTY_USERNAME = 14,
WS_MESSAGE_PROPERTY_ENCODED_CERT = 15,
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN = 16,
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN = 17,
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN = 18,
WS_MESSAGE_PROPERTY_SAML_ASSERTION = 19,
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT = 20,
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL = 21
} WS_MESSAGE_PROPERTY_ID;
Costanti
WS_MESSAGE_PROPERTY_STATE Valore: 0 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro del valore a cui è associata la struttura WS_MESSAGE_PROPERTY è il WS_MESSAGE_STATE corrente del messaggio. Questa proprietà è disponibile in tutti gli stati del messaggio. |
WS_MESSAGE_PROPERTY_HEAP Valore: 1 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è il WS_HEAP del messaggio. L'heap è di proprietà del messaggio. Un utente di un messaggio è libero di rendere aggiuntivi allocazioni all'interno di questo heap. Le allocazioni all'interno dell'heap vengono liberate quando un messaggio viene reimpostato/liberato. L'utente dell'heap restituito non deve chiamare WsResetHeap nell'heap. Ciò comporterà un comportamento non definito. L'oggetto messaggio non utilizzerà l'oggetto heap, a meno che non ne venga utilizzato uno viene richiamata l'API del messaggio. Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY. L'uso dell'heap di un messaggio vuoto comporterà un comportamento non definito. |
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION Valore: 2 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è il WS_ENVELOPE_VERSION del messaggio. Quando si crea un messaggio usando WsCreateMessage, La versione envelope viene specificata come parametro esplicito (invece di come proprietà). Questa proprietà può essere specificata quando le proprietà del messaggio vengono specificate utilizzando struttura WS_MESSAGE_PROPERTIES . Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION Valore: 3 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è il WS_ADDRESSING_VERSION del messaggio. Quando si crea un messaggio usando WsCreateMessage, la versione di indirizzamento viene specificata come parametro esplicito (invece di come proprietà). Questa proprietà può essere specificata quando le proprietà del messaggio vengono specificate utilizzando struttura WS_MESSAGE_PROPERTIES . Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_HEADER_BUFFER Valore: 4 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è un WS_XML_BUFFER che contiene le intestazioni del messaggio (nonché la busta e gli elementi del corpo). Questo buffer è valido fino a quando il messaggio non viene reimpostato/liberato. Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_HEADER_POSITION Valore: 5 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore adiacente della struttura WS_MESSAGE_PROPERTY è il WS_XML_NODE_POSITION dell'elemento di intestazione all'interno del buffer di intestazione (l'elemento che contiene tutti intestazioni del messaggio come elementi figlio. Il buffer di intestazione stesso può essere ottenuto utilizzando WS_MESSAGE_PROPERTY_HEADER_BUFFER. Un'applicazione può usare il WS_XML_NODE_POSITION restituito come avvio punto durante la lettura o la scrittura manuale di intestazioni (quando non si usa WsSetHeader, WsGetHeader, WsGetCustomHeader o WsAddCustomHeader). Ad esempio, la posizione può essere passata a WsSetWriterPosition o WsSetReaderPosition per posizionare un lettore XML o un writer XML all'interno del WS_XML_BUFFER contenente le intestazioni. Inoltre, WsMoveReader o WsMoveWriter possono essere usati per spostare i valori relativi alla posizione impostata. Quando le intestazioni di un messaggio vengono lette (tramite WsReadMessageStart o WsReadEnvelopeStart, un elemento di intestazione viene aggiunto automaticamente al buffer di intestazione se non è presente nel messaggio da leggere. Quando un messaggio viene inizializzato (tramite WsInitializeMessage), viene aggiunto automaticamente un elemento di intestazione al messaggio. Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY. La posizione dell'intestazione è valida fino a quando il messaggio non viene reimpostato o liberato. |
WS_MESSAGE_PROPERTY_BODY_READER Valore: 6 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è un WS_XML_READER che può essere utilizzato per leggere corpo del messaggio. Il lettore è di proprietà dell'oggetto messaggio ed è valido solo finché non vengono chiamati WsFreeMessage o WsResetMessage . Questa proprietà è disponibile solo quando il messaggio è nello stato WS_MESSAGE_STATE_READING . |
WS_MESSAGE_PROPERTY_BODY_WRITER Valore: 7 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è un WS_XML_WRITER che può essere utilizzato per scrivere corpo del messaggio. Questa proprietà è disponibile solo quando il messaggio si trova in WS_MESSAGE_STATE_WRITING stato. Il writer è di proprietà dell'oggetto messaggio ed è valido solo finché non vengono chiamati WsFreeMessage o WsResetMessage . |
WS_MESSAGE_PROPERTY_IS_ADDRESSED Valore: 8 Questa proprietà viene utilizzata con WsGetMessageProperty. Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è un valore BOOL che indica se il messaggio ha sono stati affrontati. Quando viene creato o reimpostato un messaggio, questa proprietà è impostare su FALSE. Quando un messaggio viene letto (WsReadMessageStart o WsReadEnvelopeStart, quindi questa proprietà è impostare su TRUE. Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY. Per altre informazioni, vedere WsAddressMessage . |
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES Valore: 9 Questa proprietà viene utilizzata con WsCreateMessage per specificare le proprietà del WS_HEAP associato al messaggio. Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è di tipo WS_HEAP_PROPERTIES. L'heap viene usato per memorizzare nel buffer le intestazioni del messaggio. È possibile specificare le proprietà dell'heap seguenti: |
WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES Valore: 10 Questa proprietà viene utilizzata con WsCreateMessage per specificare le proprietà che si applicano ai lettori XML utilizzati con il messaggio. Queste proprietà del lettore XML vengono utilizzate dall'oggetto messaggio durante la lettura delle intestazioni. Inoltre, i canali usano queste proprietà per i lettori che creano per leggere Messaggi. Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è di tipo WS_XML_READER_PROPERTIES. È possibile specificare le proprietà seguenti:
|
WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES Valore: 11 Questa proprietà viene utilizzata con WsCreateMessage per specificare le proprietà dei writer XML utilizzati con il messaggio. Queste proprietà del writer XML vengono utilizzate dall'oggetto messaggio durante la scrittura di intestazioni. Inoltre, i canali usano queste proprietà per i writer che creano per scrivere Messaggi. Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è di tipo WS_XML_WRITER_PROPERTIES. È possibile specificare le proprietà seguenti: |
WS_MESSAGE_PROPERTY_IS_FAULT Valore: 12 Questa proprietà viene utilizzata con WsGetMessageProperty o WsSetMessageProperty per indicare se un messaggio contiene un errore. Il membro del valore a cui è associata la struttura WS_MESSAGE_PROPERTY è un valore BOOL. Quando un messaggio viene letto (WsReadMessageStart o WsReadEnvelopeStart), questa proprietà viene impostata in base al fatto che il primo elemento del corpo sia un errore Elemento. Un'applicazione può testare questa proprietà come metodo per decidere se per leggere il corpo come errore. Per leggere il corpo come errore, usare WsReadBody con WS_FAULT_TYPE per ottenere un WS_FAULT. Quando viene scritto un messaggio (WsWriteMessageStart o WsWriteEnvelopeStart) questa proprietà può essere usata per indicare se l'applicazione scriverà o meno un errore nel corpo. Alcuni canali useranno queste informazioni per determinare come inviare il messaggio. Ad esempio, HTTP invierà un codice di stato 500 per gli errori anziché 200. Quando un messaggio viene inizializzato tramite WsInitializeMessage con WS_FAULT_MESSAGE, la proprietà è impostata su TRUE. Per altri valori WS_MESSAGE_INITIALIZATION , la proprietà è impostata su FALSE. Questa proprietà è disponibile in tutti gli stati del messaggio ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS Valore: 13 Questa proprietà viene utilizzata con WsCreateMessage per specificare il numero massimo di intestazioni che sarà consentito durante l'elaborazione delle intestazioni del messaggio. Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è una ULONG. Lo scopo di questo limite è quello di mettere un limite superiore sul numero di iterazioni ha impiegato l'analisi di un'intestazione. Poiché un'applicazione può modificare direttamente il contenuto del buffer di intestazione, questo limite non viene applicato in tutti i casi. Viene applicato solo quando uno di vengono usate le API di accesso alle intestazioni (WsSetHeader, WsGetHeader, WsGetCustomHeader o WsGetMappedHeader. Il valore predefinito è 64. |
WS_MESSAGE_PROPERTY_USERNAME Valore: 14 Questa proprietà viene usata con WsGetMessageProperty per recuperare il mittente nome utente da un messaggio ricevuto, se sicurezza basata su nome utente/password è attivato o se un canale personalizzato ha impostato il valore . Il membro valore a cui si accompagna la struttura WS_MESSAGE_PROPERTY è una struttura WS_STRING . Il valore restituito è valido fino a quando il messaggio non viene liberato o reimpostato. Un canale personalizzato può usare WsSetMessageProperty per impostare nome utente del mittente dal messaggio se supporta nome utente/password sicurezza basata su. La funzione creerà una copia del valore specificato. Questa proprietà è disponibile in tutti gli stati del messaggio tranne WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_ENCODED_CERT Valore: 15 Questa proprietà viene usata con WsGetMessageProperty per recuperare il mittente certificato da un messaggio ricevuto come byte codificati, se è attivata una modalità di sicurezza basata su certificati (ad esempio SSL), oppure se un canale personalizzato ha impostato il valore . Il membro valore a cui è associata la struttura WS_MESSAGE_PROPERTY è una struttura WS_BYTES . Il valore restituito è valido fino a quando il messaggio non viene liberato o reimpostato. Un canale personalizzato può usare WsSetMessageProperty per impostare certificato del mittente da un messaggio ricevuto, se supportato modalità di sicurezza basata su certificato. La funzione creerà una copia del valore specificato. Questa proprietà è disponibile in tutti gli stati del messaggio tranne WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN Valore: 16 Questa proprietà viene usata con WsGetMessageProperty per recuperare windows token che rappresenta il mittente da un messaggio ricevuto. Questa proprietà è disponibili nei casi seguenti: Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un HANDLE.
Il valore restituito è valido finché il messaggio non viene liberato o reimpostato. Un canale personalizzato può usare WsSetMessageProperty per impostare certificato del mittente da un messaggio ricevuto se supporta modalità di sicurezza basata su certificati. La funzione duplicerà l'handle specificato. Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN Valore: 17 Questa proprietà viene usata con WsGetMessageProperty per recuperare Windows token che rappresenta il mittente da un messaggio ricevuto, se WS_HTTP_HEADER_AUTH_SECURITY_BINDING viene usato, o se un canale personalizzato ha impostato il valore. Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un HANDLE. Il valore restituito è valido finché il messaggio non viene liberato o reimpostato. Un canale personalizzato può usare WsSetMessageProperty per impostare token di windows che rappresenta il mittente da un messaggio ricevuto. La funzione duplicerà l'handle specificato. Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN Valore: 18 Questa proprietà viene usata con WsGetMessageProperty per recuperare Windows token che rappresenta il mittente da un messaggio ricevuto, se una sicurezza del messaggio viene usata l'associazione , ad esempio WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, o se un canale personalizzato ha impostato il valore. Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un HANDLE. Il valore restituito è valido finché il messaggio non viene liberato o reimpostato. Un canale personalizzato può usare WsSetMessageProperty per impostare token che rappresenta il mittente da un messaggio ricevuto. La funzione duplicerà l'handle specificato. Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_SAML_ASSERTION Valore: 19 Questa proprietà viene usata con WsGetMessageProperty per recuperare l'asserzione SAML che rappresenta il mittente da un messaggio ricevuto, se WS_SAML_MESSAGE_SECURITY_BINDING viene usato sul lato server, o se un canale personalizzato ha impostato il valore. Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un WS_XML_BUFFER. Il valore restituito è valido finché il messaggio non viene liberato o reimpostato. Un canale personalizzato può usare WsSetMessageProperty per impostare asserzione SAML che rappresenta il mittente da un messaggio ricevuto. La funzione duplicerà il buffer specificato. Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di WS_MESSAGE_STATE_EMPTY. |
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT Valore: 20 Questa proprietà viene usata con WsGetMessageProperty per recuperare l'handle di conversazione sicuro se WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING viene usato sul lato server. Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un WS_SECURITY_CONTEXT. Il valore restituito è valido finché il messaggio non viene liberato o reimpostato. |
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL Valore: 21 Questa proprietà viene usata con WsGetMessageProperty per recuperare il livello di protezione del messaggio. Il membro del valore di accompagnamento della struttura WS_MESSAGE_PROPERTY è un valore WS_PROTECTION_LEVEL . Se il canale non usa la sicurezza o se la verifica della sicurezza non è riuscita, il livello di protezione è impostato su WS_PROTECTION_LEVEL_NONE. In caso contrario, viene impostato sul livello richiesto dall'applicazione. Questa proprietà può essere usata per determinare lo stato della verifica di sicurezza quando WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS è impostato su FALSE. Un canale personalizzato può usare WsSetMessageProperty per impostare livello di protezione di un messaggio ricevuto. Questa proprietà è disponibile in tutti gli stati dei messaggi, ad eccezione di WS_MESSAGE_STATE_EMPTY. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2 [app desktop | App UWP] |
Intestazione | webservices.h |