Função WsSendMessage (webservices.h)
Envie uma mensagem em um canal usando a serialização para gravar o elemento body.
Sintaxe
HRESULT WsSendMessage(
[in] WS_CHANNEL *channel,
[in] WS_MESSAGE *message,
[in] const WS_MESSAGE_DESCRIPTION *messageDescription,
[in] WS_WRITE_OPTION writeOption,
const void *bodyValue,
[in] ULONG bodyValueSize,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
Parâmetros
[in] channel
O canal no qual enviar a mensagem.
[in] message
O objeto de mensagem a ser usado para envio.
O objeto de mensagem deve estar em WS_MESSAGE_STATE_EMPTY ou WS_MESSAGE_STATE_INITIALIZED.
[in] messageDescription
O campo de ação do WS_MESSAGE_DESCRIPTION é usado como o cabeçalho de ação da mensagem. Esse campo poderá ser NULL se nenhuma ação for necessária.
O campo bodyElementDescription do WS_MESSAGE_DESCRIPTION é usado para serializar o corpo da mensagem. Esse campo poderá ser NULL se nenhum elemento de corpo for desejado. Consulte WsWriteBody para obter informações sobre como bodyElementDescription é usado para serializar o valor.
[in] writeOption
Se o elemento body é necessário e como o valor é alocado. Isso é usado somente quando um elemento body é desejado. Para obter mais informações, consulte WS_WRITE_OPTION e WsWriteBody.
bodyValue
O valor a ser serializado no corpo da mensagem.
[in] bodyValueSize
O tamanho do valor que está sendo serializado, em bytes.
[in, optional] asyncContext
Informações sobre como invocar a função de forma assíncrona ou NULL se estiver invocando de forma síncrona.
[in, optional] error
Especifica onde informações adicionais de erro devem ser armazenadas se a função falhar.
Valor retornado
Essa função pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
|
A operação assíncrona ainda está pendente. |
|
A operação foi anulada. |
|
A operação não é permitida devido ao estado atual do objeto. |
|
O ponto de extremidade remoto não existe ou não pôde ser localizado. |
|
O acesso foi negado pelo ponto de extremidade remoto. |
|
A conexão com o ponto de extremidade remoto foi encerrada. |
|
O ponto de extremidade remoto não pôde processar a solicitação. |
|
O ponto de extremidade remoto não está atualmente em serviço neste local. |
|
O ponto de extremidade remoto não pode processar a solicitação devido à sobrecarga. |
|
O ponto de extremidade remoto não estava acessível. |
|
A URL do endereço do ponto de extremidade é inválida. |
|
Os dados de entrada não estavam no formato esperado ou não tinham o valor esperado. |
|
A operação não foi concluída dentro do tempo alocado. |
|
O acesso foi negado pelo servidor proxy HTTP. |
|
O servidor proxy HTTP não pôde processar a solicitação. |
|
Uma cota foi excedida. |
|
A verificação de segurança não foi bem-sucedida para os dados recebidos. |
|
Falha em uma operação de segurança na estrutura dos Serviços Web do Windows. |
|
Um token de segurança foi rejeitado pelo servidor porque expirou. |
|
O servidor proxy HTTP requer o esquema de autenticação HTTP 'basic'. |
|
O servidor proxy HTTP requer o esquema de autenticação HTTP 'digest'. |
|
O servidor proxy HTTP requer o esquema de autenticação HTTP 'negotiate'. |
|
O servidor proxy HTTP requer o esquema de autenticação HTTP 'NTLM'. |
|
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'básico'. |
|
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'digest'. |
|
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'negotiate'. |
|
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'NTLM'. |
|
Um certificado necessário não está dentro de seu período de validade ao verificar o relógio do sistema atual ou o carimbo de data/hora no arquivo assinado. |
|
O nome CN dos certificados não corresponde ao valor passado. |
|
Uma cadeia de certificados processada, mas encerrada em um certificado raiz que não é confiável pelo provedor de confiança. |
|
O certificado não é válido para o uso solicitado. |
|
A função de revogação não pôde verificar a revogação porque o servidor de revogação estava offline. |
|
Ficou sem memória. |
|
Um ou mais argumentos são inválidos. |
|
Essa função pode retornar outros erros não listados acima. |
Comentários
Para incluir cabeçalhos personalizados com a mensagem, inicialize a mensagem WsInitializeMessage com WS_BLANK_MESSAGE e adicione os cabeçalhos usando WsAddCustomHeader antes de chamar essa função.
Requisitos
Cliente mínimo com suporte | Windows 7 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | webservices.h |
Biblioteca | WebServices.lib |
DLL | WebServices.dll |