Compartilhar via


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
WS_S_ASYNC
A operação assíncrona ainda está pendente.
WS_E_OPERATION_ABORTED
A operação foi anulada.
WS_E_INVALID_OPERATION
A operação não é permitida devido ao estado atual do objeto.
WS_E_ENDPOINT_NOT_FOUND
O ponto de extremidade remoto não existe ou não pôde ser localizado.
WS_E_ENDPOINT_ACCESS_DENIED
O acesso foi negado pelo ponto de extremidade remoto.
WS_E_ENDPOINT_DISCONNECTED
A conexão com o ponto de extremidade remoto foi encerrada.
WS_E_ENDPOINT_FAILURE
O ponto de extremidade remoto não pôde processar a solicitação.
WS_E_ENDPOINT_NOT_AVAILABLE
O ponto de extremidade remoto não está atualmente em serviço neste local.
WS_E_ENDPOINT_TOO_BUSY
O ponto de extremidade remoto não pode processar a solicitação devido à sobrecarga.
WS_E_ENDPOINT_UNREACHABLE
O ponto de extremidade remoto não estava acessível.
WS_E_INVALID_ENDPOINT_URL
A URL do endereço do ponto de extremidade é inválida.
WS_E_INVALID_FORMAT
Os dados de entrada não estavam no formato esperado ou não tinham o valor esperado.
WS_E_OPERATION_TIMED_OUT
A operação não foi concluída dentro do tempo alocado.
WS_E_PROXY_ACCESS_DENIED
O acesso foi negado pelo servidor proxy HTTP.
WS_E_PROXY_FAILURE
O servidor proxy HTTP não pôde processar a solicitação.
WS_E_QUOTA_EXCEEDED
Uma cota foi excedida.
WS_E_SECURITY_VERIFICATION_FAILURE
A verificação de segurança não foi bem-sucedida para os dados recebidos.
WS_E_SECURITY_SYSTEM_FAILURE
Falha em uma operação de segurança na estrutura dos Serviços Web do Windows.
WS_E_SECURITY_TOKEN_EXPIRED
Um token de segurança foi rejeitado pelo servidor porque expirou.
WS_E_PROXY_REQUIRES_BASIC_AUTH
O servidor proxy HTTP requer o esquema de autenticação HTTP 'basic'.
WS_E_PROXY_REQUIRES_DIGEST_AUTH
O servidor proxy HTTP requer o esquema de autenticação HTTP 'digest'.
WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH
O servidor proxy HTTP requer o esquema de autenticação HTTP 'negotiate'.
WS_E_PROXY_REQUIRES_NTLM_AUTH
O servidor proxy HTTP requer o esquema de autenticação HTTP 'NTLM'.
WS_E_SERVER_REQUIRES_BASIC_AUTH
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'básico'.
WS_E_SERVER_REQUIRES_DIGEST_AUTH
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'digest'.
WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'negotiate'.
WS_E_SERVER_REQUIRES_NTLM_AUTH
O ponto de extremidade remoto requer o esquema de autenticação HTTP 'NTLM'.
CERT_E_EXPIRED
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.
CERT_E_CN_NO_MATCH
O nome CN dos certificados não corresponde ao valor passado.
CERT_E_UNTRUSTEDROOT
Uma cadeia de certificados processada, mas encerrada em um certificado raiz que não é confiável pelo provedor de confiança.
CERT_E_WRONG_USAGE
O certificado não é válido para o uso solicitado.
CRYPT_E_REVOCATION_OFFLINE
A função de revogação não pôde verificar a revogação porque o servidor de revogação estava offline.
E_OUTOFMEMORY
Ficou sem memória.
E_INVALIDARG
Um ou mais argumentos são inválidos.
Outros erros
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