Función WsSendMessage (webservices.h)

Envíe un mensaje en un canal mediante la serialización para escribir el elemento body.

Sintaxis

HRESULT WsSendMessage(
  [in]           WS_CHANNEL                   *channel,
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_MESSAGE_DESCRIPTION *messageDescription,
  [in]           WS_WRITE_OPTION              writeOption,
                 const void                   *bodyValue,
  [in]           ULONG                        bodyValueSize,
  [in, optional] const WS_ASYNC_CONTEXT       *asyncContext,
  [in, optional] WS_ERROR                     *error
);

Parámetros

[in] channel

Canal en el que se va a enviar el mensaje.

[in] message

Objeto de mensaje que se va a usar para enviar.

El objeto message debe estar en WS_MESSAGE_STATE_EMPTY o WS_MESSAGE_STATE_INITIALIZED.

[in] messageDescription

El campo de acción del WS_MESSAGE_DESCRIPTION se usa como encabezado de acción para el mensaje. Este campo puede ser NULL si no se requiere ninguna acción.

El campo bodyElementDescription del WS_MESSAGE_DESCRIPTION se usa para serializar el cuerpo del mensaje. Este campo puede ser NULL si no se desea ningún elemento body. Vea WsWriteBody para obtener información sobre cómo se usa bodyElementDescription para serializar el valor.

[in] writeOption

Indica si se requiere el elemento body y cómo se asigna el valor. Esto solo se usa cuando se desea un elemento body. Para obtener más información, consulte WS_WRITE_OPTION y WsWriteBody.

bodyValue

Valor que se va a serializar en el cuerpo del mensaje.

[in] bodyValueSize

Tamaño del valor que se serializa, en bytes.

[in, optional] asyncContext

Información sobre cómo invocar la función de forma asincrónica o NULL si invoca de forma sincrónica.

[in, optional] error

Especifica dónde se debe almacenar información de error adicional si se produce un error en la función.

Valor devuelto

Esta función puede devolver uno de estos valores.

Código devuelto Descripción
WS_S_ASYNC
La operación asincrónica sigue pendiente.
WS_E_OPERATION_ABORTED
Se anuló la operación.
WS_E_INVALID_OPERATION
No se permite la operación debido al estado actual del objeto .
WS_E_ENDPOINT_NOT_FOUND
El punto de conexión remoto no existe o no se pudo encontrar.
WS_E_ENDPOINT_ACCESS_DENIED
El punto de conexión remoto denegó el acceso.
WS_E_ENDPOINT_DISCONNECTED
Se finalizó la conexión con el punto de conexión remoto.
WS_E_ENDPOINT_FAILURE
El punto de conexión remoto no pudo procesar la solicitud.
WS_E_ENDPOINT_NOT_AVAILABLE
El punto de conexión remoto no está actualmente en servicio en esta ubicación.
WS_E_ENDPOINT_TOO_BUSY
El punto de conexión remoto no puede procesar la solicitud debido a la sobrecarga.
WS_E_ENDPOINT_UNREACHABLE
No se pudo acceder al punto de conexión remoto.
WS_E_INVALID_ENDPOINT_URL
La dirección URL de la dirección del punto de conexión no es válida.
WS_E_INVALID_FORMAT
Los datos de entrada no tenían el formato esperado o no tenían el valor esperado.
WS_E_OPERATION_TIMED_OUT
La operación no se completó dentro del tiempo asignado.
WS_E_PROXY_ACCESS_DENIED
El servidor proxy HTTP denegó el acceso.
WS_E_PROXY_FAILURE
El servidor proxy HTTP no pudo procesar la solicitud.
WS_E_QUOTA_EXCEEDED
Se superó una cuota.
WS_E_SECURITY_VERIFICATION_FAILURE
La comprobación de seguridad no se realizó correctamente para los datos recibidos.
WS_E_SECURITY_SYSTEM_FAILURE
Error en una operación de seguridad en el marco de servicios web de Windows.
WS_E_SECURITY_TOKEN_EXPIRED
El servidor rechazó un token de seguridad porque ha expirado.
WS_E_PROXY_REQUIRES_BASIC_AUTH
El servidor proxy HTTP requiere el esquema de autenticación HTTP "básico".
WS_E_PROXY_REQUIRES_DIGEST_AUTH
El servidor proxy HTTP requiere el esquema de autenticación HTTP 'digest'.
WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH
El servidor proxy HTTP requiere el esquema de autenticación HTTP "negotiate".
WS_E_PROXY_REQUIRES_NTLM_AUTH
El servidor proxy HTTP requiere el esquema de autenticación HTTP "NTLM".
WS_E_SERVER_REQUIRES_BASIC_AUTH
El punto de conexión remoto requiere el esquema de autenticación HTTP "básico".
WS_E_SERVER_REQUIRES_DIGEST_AUTH
El punto de conexión remoto requiere el esquema de autenticación HTTP "digest".
WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH
El punto de conexión remoto requiere el esquema de autenticación HTTP "negotiate".
WS_E_SERVER_REQUIRES_NTLM_AUTH
El punto de conexión remoto requiere el esquema de autenticación HTTP "NTLM".
CERT_E_EXPIRED
Un certificado necesario no está dentro de su período de validez al comprobar con el reloj del sistema actual o la marca de tiempo en el archivo firmado.
CERT_E_CN_NO_MATCH
El nombre CN de los certificados no coincide con el valor pasado.
CERT_E_UNTRUSTEDROOT
Cadena de certificados procesada, pero terminada en un certificado raíz que no es de confianza para el proveedor de confianza.
CERT_E_WRONG_USAGE
El certificado no es válido para el uso solicitado.
CRYPT_E_REVOCATION_OFFLINE
La función de revocación no pudo comprobar la revocación debido a que el servidor de revocación estaba sin conexión.
E_OUTOFMEMORY
Se quedó sin memoria.
E_INVALIDARG
Uno o más argumentos no son válidos.
Otros errores
Esta función puede devolver otros errores no enumerados anteriormente.

Comentarios

Para incluir encabezados personalizados con el mensaje, inicialice el mensaje WsInitializeMessage con WS_BLANK_MESSAGE y agregue los encabezados mediante WsAddCustomHeader antes de llamar a esta función.

Requisitos

   
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado webservices.h
Library WebServices.lib
Archivo DLL WebServices.dll