Condividi tramite


Funzione WsAddressMessage (webservices.h)

Indirizza un messaggio a un indirizzo endpoint specificato.

Sintassi

HRESULT WsAddressMessage(
  [in]           WS_MESSAGE                *message,
  [in, optional] const WS_ENDPOINT_ADDRESS *address,
  [in, optional] WS_ERROR                  *error
);

Parametri

[in] message

Puntatore a una struttura WS_MESSAGE che rappresenta il messaggio da indirizzare.

[in, optional] address

Puntatore a una struttura WS_ENDPOINT_ADDRESS contenente l'endpoint a cui indirizzare il messaggio.

Nota Il passaggio di NULL a questo parametro indica che al messaggio non vengono aggiunte intestazioni. In questo modo è possibile impostare il WS_MESSAGE_PROPERTY_ID su WS_MESSAGE_PROPERTY_IS_ADDRESSED senza modificare il set di intestazioni nel messaggio.
 

[in, optional] error

Puntatore a una struttura WS_ERROR che riceve informazioni aggiuntive sull'errore se la funzione ha esito negativo.

Valore restituito

Se la funzione ha esito positivo, restituisce NO_ERROR; in caso contrario, restituisce un codice di errore HRESULT.

Codice restituito Descrizione
WS_E_INVALID_OPERATION
Il messaggio è già stato risolto. La proprietà WS_MESSAGE_PROPERTY_IS_ADDRESSED indica se è già stato risolto un messaggio.
E_INVALIDARG
Uno o più argomenti non sono validi.
WS_E_INVALID_FORMAT
I dati di input non erano nel formato previsto o non hanno il valore previsto.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.
Altri errori
Questa funzione può restituire altri errori non elencati in precedenza.

Commenti

Se non si indirizza un messaggio chiamando questa funzione, il canale indirizza automaticamente il messaggio con l'indirizzo endpoint passato a WsOpenChannel.

Questa funzione contrassegna il messaggio come indirizzato impostando la proprietà WS_MESSAGE_PROPERTY_IS_ADDRESSED su TRUE.

Questa funzione ha esito negativo se il messaggio è già stato risolto e restituisce WS_E_INVALID_OPERATION.

Se alla funzione viene passato un WS_ENDPOINT_ADDRESS non NULL, la funzione esegue i passaggi aggiuntivi seguenti:

  • Il tipo di intestazione è impostato su WS_TO_HEADER (vedere l'enumerazione WS_HEADER_TYPE ) e l'indirizzo è impostato sul valore del campo URL di WS_ENDPOINT_ADDRESS. Se la lunghezza dell'URL è zero, la rappresentazione specifica WS_ADDRESSING_VERSION per un URL anonimo viene impostata per il messaggio.
  • Ogni intestazione nella WS_XML_BUFFER specificata nel campo intestazioni del WS_ENDPOINT_ADDRESS viene aggiunta al messaggio. Nessuna intestazione viene aggiunta se il buffer è NULL.

Requisiti

   
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione webservices.h
Libreria WebServices.lib
DLL WebServices.dll