Función WsGetFaultErrorDetail (webservices.h)
Lea los detalles del error almacenados en un objeto WS_ERROR .
Sintaxis
HRESULT WsGetFaultErrorDetail(
[in] WS_ERROR *error,
[in] const WS_FAULT_DETAIL_DESCRIPTION *faultDetailDescription,
[in] WS_READ_OPTION readOption,
[in, optional] WS_HEAP *heap,
void *value,
[in] ULONG valueSize
);
Parámetros
[in] error
Objeto de error que contiene la información de error.
[in] faultDetailDescription
Puntero a una descripción del elemento de detalle de error.
El valor de acción de la descripción de detalles del error se usa como un valor de filtro para coincidir con la acción del error. Si se especifican ambas cadenas de acción (el valor de acción de la descripción de detalles del error no es NULL y el valor de acción WS_FAULT_ERROR_PROPERTY_ACTION en el WS_ERROR tiene una longitud mayor que cero), las cadenas de acción se comparan para determinar una coincidencia. Si hay una coincidencia, la función intentará deserializar el elemento de detalle.
La descripción del elemento de la descripción detallada del error se usa para describir el formato del elemento en el detalle del error.
[in] readOption
Indica si el elemento es necesario y cómo asignar el valor. Consulte WS_READ_OPTION para obtener más información.
[in, optional] heap
Montón en el que se almacenarán los valores deserializados.
value
La interpretación de este parámetro depende del WS_READ_OPTION.
[in] valueSize
La interpretación de este parámetro depende del WS_READ_OPTION.
Valor devuelto
Esta función puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
|
Los datos de entrada no tenían el formato esperado o no tenían el valor esperado. |
|
Se quedó sin memoria. |
|
Se superó la cuota de tamaño del montón. |
|
Uno o más argumentos no son válidos. |
Comentarios
Esta API deserializa el valor del campo de detalle del WS_FAULT almacenado en el objeto WS_ERROR .
Esta función admite los siguientes escenarios, en función del contenido del WS_ELEMENT_DESCRIPTION en el WS_FAULT_DETAIL_DESCRIPTION proporcionado:
- Lectura de un solo elemento.
En este caso, los campos elementLocalName y elementNs del WS_ELEMENT_DESCRIPTION deben establecerse en el nombre local y el espacio de nombres del elemento que se va a leer, y la descripción de tipo y tipo representa el tipo del valor que se va a deserializar.
Dado que se pueden esperar errores diferentes con distintos formatos de detalle de un servicio, se puede llamar a esta función sucesivamente para intentar leer cada tipo de detalle. En este caso, se puede especificar el valor WS_READ_OPTIONAL_POINTER , que devolverá un puntero NULL si el nombre del elemento en el detalle del error no coincide con el valor esperado.
- Lectura de varios elementos como un valor único. En este caso, los campos elementLocalName y elementNs del WS_ELEMENT_DESCRIPTION deben establecerse en NULL y se debe especificar un WS_STRUCT_TYPE y WS_STRUCT_DESCRIPTION . Cada campo del valor de estructura que se va a deserializar debe corresponder a los elementos que se van a leer dentro del cuerpo. El parámetro readOption debe ser WS_READ_REQUIRED_VALUE o WS_READ_REQUIRED_POINTER.
Requisitos
Requisito | Value |
---|---|
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 |