Array
(
)

Erro de retorno em página HTML

Adalberto
   - 20 fev 2006

Boa tarde pessoal...


Alguém poderia me ajudar ? Estou com o seguinte problema: estou usando o componente idHTTP para passar um parâmetro para uma página HTML. Quando o dado que eu passo está no banco de dados lá no servidor da página me é retornado uma página HTML com os dados da pesquisa. Porém, quando o dado não está no Banco, é retornada a seguinte mensagem : ´HTTP/1.1 500 Internal Server Error´. Pelo browser é retornado uma página com a mensagem de que não existe a informação que eu passei cadastrada. Estou carregando a página HTML de retorno em um Memo. Quando o dado não está cadastrado aparece no Memo: EIDHTTPProtocolException. Com oconseguir carregar a página de retorno em caso de erro ?

Obrigado.


Massuda
   - 20 fev 2006

Essa exceção não deveria ocorrer.

O correto é você testar antes se TIdHTTP.ResponseCode = 200 para então processar o retorno de TIdHTTP.Get ou TIdHTTP.Post. No seu caso, em caso em de erro, deveria estar retornando TIdHTTP.ResponseCode = 500.

A mensagem da exceção tem mais detalhes?


Adalberto
   - 20 fev 2006


Citação:
Essa exceção não deveria ocorrer.

O correto é você testar antes se TIdHTTP.ResponseCode = 200 para então processar o retorno de TIdHTTP.Get ou TIdHTTP.Post. No seu caso, em caso em de erro, deveria estar retornando TIdHTTP.ResponseCode = 500.

A mensagem da exceção tem mais detalhes?


Olá, Massuda...

Realmente está estranho. Acho que deveria ser retornado para o Memo a mesma mensagem que aparece no Browser quando não existe o registro no Banco de Dados: ´Registro não encontrado´. Afinal, é isto que aparece na página e no código fonte da página.

Você acha que o idHTTP.ResponseCode = 500 indica que não há registro no Banco ? Então eu teria que fazer este teste antes de carregar a página no Memo ?

A página é em jsp.

[]´s.