Ver Mensaje Individual
  #3  
Antiguo 30-08-2011
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Reputación: 18
rolandoj Va por buen camino
Gracias por la ayuda. Comentarios

Cita:
Empezado por Chris Ver Mensaje
Lo primero que yo haría es hacer las pruebas con el explorador Web y páginas HTML antes que con un cliente de Indy. Al hacer las pruebas así por lo menos el navegador te puede brindar más información que la brindada por Indy (que es nula realmente).

Tu aplicativo CGI está teniendo un problema. Es por eso del número 500 (código HTTP reservado para los errores). Por eso es que te digo que hagas mejor las pruebas con páginas HTML.

En segundo lugar, busca los registros de apache. La mayoría de los problemas se pueden resolver utilizando este log. La ubicación del log depende del S.O. que estés utilizando. Pero generalmente el archivo se llama Apache.log o Apache2.log

Saludos,
Chris
Hola Chris,

Muchas gracias por contestar.

Si te entiendo bien, sugieres que desarrolle un programa con páginas Web para probar el Post ?. Estás seguro que a un navegador se le envía más información respecto al error ?. Hasta donde yo sé, el procolo HTTP es un standard y por tanto la información devuelta depende solo de los datos que enviemos en una petición; debe ser la misma respuesta de errores independientemente del programa que haga la petición, siempre y cuando la cadena http sea igual.

Indy posee varios mecanismos que muestran los códigos de error devueltos; pero, en este caso, no aclaran mucho.

Por otro lado, la solución que propones implica aprender a manejar un POST en HTML, y no tenemos esa experiencia, así que estaríamos saltando a otro campo que tampoco dominamos. Es algo que intentaría solo como último recurso.

En cuanto a lo del log de errores, solo vimos el log de donde sacamos lo que mostré aquí y creo que se llama apache2.log (Mañana miro en la oficina). Será que para que muestre detalles de errores hay que activar esa característica mediante un comando o una configuración ?. Miraremos eso mañana; pero, te agradezco si puedes indicarnos algo al respecto

Ahora, la lógica del programa es demasiado sencilla. Un evento OnRequest con una sola línea del tipo :

AResponse.Content := 'algún texto';

Y funciona bien con GET. Además, el cliente está bien porque funciona con DLLs ISAPI. Hay que descartar errores de lógica en el programa o en el cliente. Tiene que ser algún parámetro, unidad o alguna otra cosa que tenga que incluirse en el aplicativo servidor y que no conocemos.

Preguntas claves :

1. Tú has hecho algún servidor CGI con TFPWebModule bajo Linux-Apache 2.2 que responda a peticiones POST ?.

2. Podrías mostrar el código de ejemplo ?

3. Alguién ha hecho un programa así ?.

Tengo una sospecha :

En Delphi, cada accion atiende en un solo evento (OnAction) cualquier tipo de petición (PUT, POST; GET) y un parámetro permite indicar el tipo de petición que puede atender. En Lazarus, aparentemente es casi igual : una acción recibe cualquier petición y la atiende en un solo evento (OnRequest) ; pero, no hay un parámetro para diferenciar el tipo de petición atendible. Será que en Lazarus las peticiones POST se reciben en otro evento, o con un mecanismo totalmente diferente ?. Alguién sabe ?
Responder Con Cita