Como rejeitar formalmente uma solicitação SOAP? [fechadas]

0

Tenho um grande ambiente de balanceador de carga do F5 LTM que estou cuidando e que estamos configurando para classificar as solicitações de limite em um nível de URI. Para os usuários da web humanos, estamos direcionando-os para uma página movimentada, mas também executamos serviços da web e precisamos educadamente dizer ao cliente de sabão para ir adiante e procriar também. Não sabendo um monte inteiro sobre as respostas SOAP / XML Eu não estou claro sobre o que devemos dizer ao cliente. Será que uma resposta muito básica de 500 é suficiente ou precisamos criar uma resposta SOAP legítima também?

    
por Chris Phillips 12.01.2012 / 10:46

1 resposta

3

A resposta do SOAP é determinada pela definição do serviço (isto é, WSDL) fora da qual é comum usar apropriado Códigos de resposta HTTP para circunstâncias fora do "contrato".

Em vez de ser preguiçoso e usar 500, eu escolheria:

  • 409 Conflito
  • 410 Longe
  • 417 Falha na expectativa
  • 429 Solicitações demais
  • 501 Não implementado
  • 503 Serviço indisponível
  • 509 Limite de largura de banda excedido
  • 507 Armazenamento insuficiente

Revise a lista completa e escolha a mais adequada.

Se o servidor for capaz de retornar um documento XML detalhando o erro, é normal fazê-lo. Os serviços SOAP que eu uso têm isso permitido nas definições de serviço.

O cliente tem que ser capaz de lidar com erros HTTP sem enfeites, pois às vezes ocorre uma falha no servidor antes que o XML de solicitação seja analisado.

    
por 12.01.2012 / 11:23

Tags