Compartir a través de


estructura WS_HTTP_MESSAGE_MAPPING (webservices.h)

Especifica información sobre cómo se debe representar una solicitud HTTP o una respuesta en un objeto de mensaje.

Sintaxis

typedef struct _WS_HTTP_MESSAGE_MAPPING {
  ULONG                  requestMappingOptions;
  ULONG                  responseMappingOptions;
  WS_HTTP_HEADER_MAPPING **requestHeaderMappings;
  ULONG                  requestHeaderMappingCount;
  WS_HTTP_HEADER_MAPPING **responseHeaderMappings;
  ULONG                  responseHeaderMappingCount;
} WS_HTTP_MESSAGE_MAPPING;

Miembros

requestMappingOptions

Opciones que controlan cómo se asigna la información de la solicitud HTTP al objeto de mensaje.

responseMappingOptions

Opciones que controlan cómo se asigna la información de la respuesta HTTP al objeto de mensaje.

requestHeaderMappings

Matriz de punteros a asignaciones que describen qué encabezados HTTP se asignan a los encabezados del objeto de mensaje para una solicitud HTTP. Es posible que los punteros de la matriz no sean NULL.

requestHeaderMappingCount

Número de elementos de la matriz requestHeaderMappings.

responseHeaderMappings

Matriz de punteros a asignaciones que describen qué encabezados HTTP se asignan a los encabezados o desde en el objeto de mensaje para una respuesta HTTP. Es posible que los punteros de la matriz no sean NULL.

responseHeaderMappingCount

Número de elementos de la matriz responseHeaderMappings.

Comentarios

Un mensaje puede contener información adicional específica del transporte que no forma parte del sobre del mensaje. Esta información específica del transporte se puede exponer mediante programación como encabezados del objeto de mensaje.
Estos encabezados se conocen como encabezados asignados.

Cada encabezado asignado se almacena como elemento de encabezado normal en los encabezados del mensaje (vea WS_MESSAGE_PROPERTY_HEADER_BUFFER). El espacio de nombres XML vacío ("") se usa para los encabezados asignados.

Esta estructura especifica cómo se produce la asignación entre una solicitud o respuesta HTTP y los encabezados asignados del objeto de mensaje. La estructura se puede especificar mediante la propiedad WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING .

En el diagrama siguiente se muestra cómo se asignan los encabezados HTTP a los encabezados de un mensaje.

Diagrama que muestra un objeto Message con el elemento MyHeader resaltado y una flecha que apunta a la línea MyHeader en una solicitud HTTP.

Cuando se recibe un mensaje, el canal HTTP copiará automáticamente los encabezados HTTP especificados de la solicitud o respuesta a los encabezados del objeto de mensaje. A continuación, la aplicación puede usar WsGetMappedHeader para obtener los valores de los encabezados asignados.

Antes de enviar un mensaje, una aplicación puede agregar encabezados asignados al objeto de mensaje mediante WsAddMappedHeader. Cuando se envía el mensaje, el canal HTTP quitará automáticamente los encabezados especificados de los encabezados del objeto de mensaje (por lo que no aparecen dentro del sobre) y los agregará como encabezados de solicitud HTTP o respuesta.

El canal HTTP solo realizará esta asignación para los encabezados HTTP especificados en los campos requestHeaderMappings o responseHeaderMappings. El WS_HTTP_HEADER_MAPPING se usa para especificar cada encabezado e incluye instrucciones sobre cómo se transforma el encabezado del mensaje en un encabezado HTTP o desde este.

Otra información de una solicitud o respuesta HTTP que no se corresponde con los encabezados HTTP se puede asignar al encabezado del objeto de mensaje estableciendo requestMappingOptions o responseMappingOptions. Estos valores asignados se pueden extraer mediante WsGetMappedHeader.
Consulte WS_HTTP_REQUEST_MAPPING_OPTIONS o WS_HTTP_RESPONSE_MAPPING_OPTIONS para obtener información sobre qué información se puede asignar a los encabezados de mensaje.

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado webservices.h