Compartilhar via


Função WsWriteMessageStart (webservices.h)

Escreva todos os cabeçalhos da mensagem no canal e prepare-se para gravar os elementos do corpo.

Sintaxe

HRESULT WsWriteMessageStart(
  [in]           WS_CHANNEL             *channel,
  [in]           WS_MESSAGE             *message,
  [in, optional] const WS_ASYNC_CONTEXT *asyncContext,
  [in, optional] WS_ERROR               *error
);

Parâmetros

[in] channel

O canal a ser usado para gravar a mensagem.

[in] message

A mensagem a ser gravada.

[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.

Retornar valor

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

O início da mensagem, incluindo o conjunto atual de cabeçalhos que existem na mensagem, é gravado no canal.

Essa função é como WsWriteEnvelopeStart , mas é usada com canais.

A mensagem deve estar em WS_MESSAGE_STATE_INITIALIZED estado. Após o êxito, a mensagem terá sido transferida para WS_MESSAGE_STATE_WRITING estado.

Para serializar um elemento do corpo da mensagem, use WsWriteBody. Para gravar diretamente no Gravador XML da mensagem, primeiro obtenha o leitor usando a propriedade WS_MESSAGE_PROPERTY_BODY_WRITER .

Se a saída do canal for transmitida (WS_STREAMED_OUTPUT_TRANSFER_MODE), wsFlushBody deverá ser chamado para realmente transmitir cada parte do corpo.

Requisitos

Requisito Valor
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