Share via


estrutura WS_HTTP_MESSAGE_MAPPING (webservices.h)

Especifica informações sobre como uma solicitação OU resposta HTTP deve ser representada em um objeto de mensagem.

Sintaxe

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;

Membros

requestMappingOptions

Opções que controlam como as informações na solicitação HTTP são mapeadas para o objeto de mensagem.

responseMappingOptions

Opções que controlam como as informações na resposta HTTP são mapeadas para o objeto de mensagem.

requestHeaderMappings

Uma matriz de ponteiros para mapeamentos que descrevem quais cabeçalhos HTTP são mapeados de/para cabeçalhos no objeto de mensagem para uma solicitação HTTP. Os ponteiros na matriz podem não ser NULL.

requestHeaderMappingCount

O número de itens na matriz requestHeaderMappings.

responseHeaderMappings

Uma matriz de ponteiros para mapeamentos que descrevem quais cabeçalhos HTTP são mapeados de/para cabeçalhos no objeto de mensagem para uma resposta HTTP. Os ponteiros na matriz podem não ser NULL.

responseHeaderMappingCount

O número de itens na matriz responseHeaderMappings.

Comentários

Uma mensagem pode conter informações adicionais específicas do transporte que não fazem parte do envelope da mensagem. Essas informações específicas do transporte podem ser expostas programaticamente como cabeçalhos do objeto de mensagem.
Esses cabeçalhos são chamados de cabeçalhos mapeados.

Cada cabeçalho mapeado é armazenado como elemento de cabeçalho regular nos cabeçalhos da mensagem (consulte WS_MESSAGE_PROPERTY_HEADER_BUFFER). O namespace XML vazio ("") é usado para cabeçalhos mapeados.

Essa estrutura especifica como o mapeamento ocorre entre uma solicitação OU resposta HTTP e os cabeçalhos mapeados do objeto de mensagem. A estrutura pode ser especificada usando a propriedade WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING .

O diagrama a seguir mostra como os cabeçalhos HTTP são mapeados para os cabeçalhos de uma mensagem.

Diagrama mostrando um objeto Message com o elemento MyHeader realçado e uma seta apontando para a linha MyHeader em uma solicitação HTTP.

Quando uma mensagem é recebida, o canal HTTP copia automaticamente os cabeçalhos HTTP especificados da solicitação ou resposta para os cabeçalhos do objeto de mensagem. Em seguida, o aplicativo pode usar WsGetMappedHeader para obter os valores dos cabeçalhos mapeados.

Antes que uma mensagem seja enviada, um aplicativo pode adicionar cabeçalhos mapeados ao objeto de mensagem usando WsAddMappedHeader. Quando a mensagem é enviada, o canal HTTP remove automaticamente os cabeçalhos especificados dos cabeçalhos do objeto de mensagem (para que eles não apareçam dentro do envelope) e os adicione como cabeçalhos de solicitação OU resposta HTTP.

O canal HTTP só executará esse mapeamento para cabeçalhos HTTP que foram especificados nos campos requestHeaderMappings ou responseHeaderMappings. O WS_HTTP_HEADER_MAPPING é usado para especificar cada cabeçalho e inclui instruções sobre como o cabeçalho da mensagem é transformado de/para um cabeçalho HTTP.

Outras informações em uma solicitação OU resposta HTTP que não correspondem a cabeçalhos HTTP podem ser mapeadas para o cabeçalho do objeto de mensagem definindo requestMappingOptions ou responseMappingOptions. Esses valores mapeados podem ser extraídos usando WsGetMappedHeader.
Consulte WS_HTTP_REQUEST_MAPPING_OPTIONS ou WS_HTTP_RESPONSE_MAPPING_OPTIONS para obter informações sobre quais informações podem ser mapeadas em cabeçalhos de mensagem.

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho webservices.h