Compartir a través de


Función WsSendFaultMessageForError (webservices.h)

Envía un mensaje de error dado un objeto WS_ERROR .

Sintaxis

HRESULT WsSendFaultMessageForError(
  [in]           WS_CHANNEL             *channel,
  [in]           WS_MESSAGE             *replyMessage,
  [in]           WS_ERROR               *faultError,
  [in]           HRESULT                faultErrorCode,
  [in]           WS_FAULT_DISCLOSURE    faultDisclosure,
  [in]           WS_MESSAGE             *requestMessage,
  [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] replyMessage

Objeto de mensaje que se va a usar para enviar el mensaje de respuesta.

El objeto message debe estar en WS_MESSAGE_STATE_EMPTY o WS_MESSAGE_STATE_INITIALIZED. Si se proporciona un mensaje inicializado, debe haberse inicializado mediante WS_FAULT_MESSAGE.

[in] faultError

Objeto de error que se va a usar para construir el error.

[in] faultErrorCode

Código de error asociado al error. Esto no puede ser un código correcto.

Este código de error nunca se incluye directamente en el mensaje de error, sino que se usa como mecanismo de reserva para crear una cadena de error en caso de que el objeto WS_ERROR no contenga ninguna cadena de error.

[in] faultDisclosure

Controla la cantidad de información de error que se incluye en el mensaje de error.

[in] requestMessage

Mensaje de solicitud. Se usa para obtener información de correlación utilizada para formular el mensaje de respuesta.

El mensaje puede estar en cualquier estado, pero WS_MESSAGE_STATE_EMPTY.

[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_DISCONNECTED
Se finalizó la conexión con el punto de conexión remoto.
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_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.
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

El WS_FAULT que se envía en el cuerpo del mensaje se construye con las mismas reglas definidas por WsCreateFaultFromError.

El valor del WS_ACTION_HEADER usado para el mensaje de respuesta se calcula de la siguiente manera:

Si el objeto de error contiene un encabezado usado para describir el error especificado por WS_FAULT_ERROR_PROPERTY_HEADER, el encabezado se agrega a los encabezados del mensaje de error.

El mensaje de error incluirá información de correlación según corresponda al WS_ADDRESSING_VERSION. Consulte Información general sobre la capa de canal para obtener más información sobre cómo correlacionar los mensajes de respuesta de solicitud.

Si envía un error sin un objeto WS_ERROR , use WsSendReplyMessage.

Para agregar encabezados personalizados al mensaje, inicialice el mensaje WsInitializeMessage con WS_FAULT_MESSAGE y, a continuación, 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