Compartir a través de


Función WsReadBody (webservices.h)

Se trata de una función auxiliar que deserializa un valor del Lector XML del mensaje. El WS_MESSAGE_STATE debe establecerse en WS_MESSAGE_STATE_READING. Esta función no provoca ninguna transición de estado.

Sintaxis

HRESULT WsReadBody(
  [in]           WS_MESSAGE                   *message,
  [in]           const WS_ELEMENT_DESCRIPTION *bodyDescription,
  [in]           WS_READ_OPTION               readOption,
  [in, optional] WS_HEAP                      *heap,
                 void                         *value,
  [in]           ULONG                        valueSize,
  [in, optional] WS_ERROR                     *error
);

Parámetros

[in] message

Puntero al objeto Message del que se va a leer el cuerpo. El puntero debe hacer referencia a un objeto WS_MESSAGE válido.

[in] bodyDescription

Puntero al objeto que encapsula los metadatos que describen la asignación del valor a un elemento.

[in] readOption

Determina si el valor es necesario y cómo asignar el valor. Consulte WS_READ_OPTION para obtener más información.

[in, optional] heap

Puntero al objeto Montón en el que se va a leer el elemento. El puntero debe hacer referencia a un objeto WS_HEAP válido.

value

La interpretación de los datos a los que hace referencia este parámetro depende del WS_READ_OPTION.

[in] valueSize

La interpretación del valor de este parámetro depende del WS_READ_OPTION.

[in, optional] error

Puntero a un objeto WS_ERROR donde se debe almacenar información adicional sobre el error 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_E_INVALID_FORMAT
Los datos de entrada no tenían el formato esperado o no tenían el valor esperado.
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

Esta función admite los siguientes escenarios, en función del contenido del WS_ELEMENT_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. Si usa WS_FAULT_TYPE o WS_ENDPOINT_ADDRESS_TYPE no es necesario especificar el nombre local, el espacio de nombres o la descripción de tipo (de forma predeterminada se basarán en la versión de sobre/direccionamiento del mensaje).
  • 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 . En este caso, cada campo del valor de estructura que se va a deserializar debe corresponder a los elementos que se van a leer dentro del cuerpo.
  • Lectura de varios elementos como varios valores. La lectura de varios valores distintos se puede realizar simplemente llamando a la función varias veces.

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