Relatório de erros da operação do serviço de verificação do WSD
Esta seção descreve como um Serviço de Verificação do WSD gera e envia códigos de erro de operação. Os códigos de erro que a maioria das operações podem retornar são descritos em Códigos de erro comuns de operação do serviço de verificação do WSD.
Quando o Serviço de Verificação do WSD encontra um erro ao processar uma operação de SolicitaçãoXxx, ele retorna um código de erro em vez de um elemento XxxResponse. O Serviço de Verificação retorna códigos de erro no <elemento soap:Fault> .
Todas as mensagens de erro definidas no Serviço de Verificação do WSD devem ser enviadas de acordo com as regras descritas na especificação WS-Addressing (Endereçamento de Serviços Web). Especificamente, o Serviço de Verificação do WSD deve enviar mensagens de falha, em ordem, para os seguintes locais:
O [ponto de extremidade de falha], se ele estiver presente e válido.
Caso contrário, o [ponto de extremidade de resposta], se ele estiver presente.
Caso contrário, o [ponto de extremidade de origem].
Os pontos de extremidade devem incluir cabeçalhos de informações de mensagem necessários em todas as mensagens de falha. As mensagens de falha são correlacionadas como respostas usando a propriedade [relationship], conforme definido em WS-Addressing. A seguinte propriedade [ação] designa mensagens de falha:
https://schemas.xmlsoap.org/ws/2004/08/addressing/fault
As definições de falhas usam as seguintes propriedades:
Propriedade Fault | Definição |
---|---|
[Código] | O código de falha. |
[Subcódigo] | O subcódigo de falha. |
[Motivo] | O elemento motivo do idioma inglês. |
[Detalhe] | O elemento detail. Se esse elemento estiver ausente, nenhum elemento de detalhe será definido para a falha. |
Essas propriedades se associam a uma falha SOAP 1.2, como mostra o exemplo de código a seguir.
<S:Envelope>
<S:Header>
<wsa:Action>https://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<!-- Headers excluded for clarity -->
</S:Header>
<S:Body>
<S:Fault>
<S:Code>
<S:Value>[Code]</S:Value>
<S:Subcode>
<S:Value>[Subcode]</S:Value>
</S:Subcode>
</S:Code>
<S:Reason>
<S:Text xml:lang="en">[Reason]</S:Text>
</S:Reason>
<S:Detail>[Detail]</S:Detail>
</S:Fault>
</S:Body>
</S:Envelope>
O exemplo de código a seguir mostra uma falha SOAP de exemplo.
<soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soapelope"
xmlns:xml="https://www.w3.org/XML/1998/namespace"
xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:nprt="https://schemas.microsoft.com/windows/2006/01/wdp/scan">
<soap:Header>
<wsa:Action>https://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<!-- Headers excluded for brevity -->
</soap:Header>
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>env:Sender</soap:Value>
<soap:Subcode>
<soap:Value>wscn:OperationFailed</soap:Value>
</soap:Subcode>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Service cannot perform the requested operation</soap:Text>
</soap:Reason>
</soap:Fault>
</soap:Body>
</soap:Envelope>