miralo con el fiddler
 www.fiddlertool.com
  ----- Original Message ----- 
  From: Luis Farzati 
  To: puntonet@mug.org.ar 
  Sent: Tuesday, March 20, 2007 2:35 PM
  Subject: [puntonet] HttpWebRequest


  Te iba a decir que se me hace que si bien el IIS atiende el pedido, nunca 
llega a ASP.NET (en el pipeline). Pero como decis que en el _EndRequest ves que 
llega, es medio raro.

   

  Insisto en que, más allá de que vos no puedas tocar la forma en que se hace 
el request, me parece que tiene algo mal. Salvo que te estén mandando info del 
tipo nombre1=valor1&nombre2=valor2&.

   

  Yo me haría una página, mía, que haga webrequest sobre la que espera el POST, 
y en la del POST haría solamente Response.Write("aca estoy") para ver si 
efectivamente recibo ese mensaje.

   

  Lo del HttpHandler que te decía, no era para agregar a la página sino para 
reemplazarla. Un HttpHandler que escuche en ~/payment.ashx , por decir algo, y 
en el BeginRequest haga lo que tiene que hacer (por ejemplo, para seguir con la 
prueba que te decía antes, que haga el Response.Write).

   

  Saludos MATIAS!! =P

  Luis

   

  From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Matias Q
  Sent: Tuesday, March 20, 2007 14:19
  To: puntonet@mug.org.ar
  Subject: [puntonet] HttpWebRequest

   

  Jaja Luis, no hay problema :)
   
  Gracias por las respuestas.
   
  Clarifico un poco la situacion: El codigo que mande no es el mio, es el que 
utiliza la entidad de Servicio de Pago para enviarme a mi, la informacion, es 
decir, yo de alguna forma tengo que recibir la informacion enviada y no tengo 
acceso al objeto HttpWebRequest (y por ende tampoco al HttpWebResponse) porque 
son dos paginas separadas.
  Segun he visto en varios foros, el objeto Request deberia tener en su 
InputStream, la informacion codificada que me envian, el problema en realidad 
es que mi pagina nunca ejecuta su Code-Behind por alguna razon.
   
  El Servicio de Pago, mediante su HttpWebRequest hace el POST, el IIS de mi 
servidor en su log registra el POST, pero mi pagina nunca recibe absolutamente 
nada. Puse un HttpHandler, que en su evento Application_EndRequest detecta el 
Request a mi pagina, pero la pagina no se "ejecuta", nada de su Code-Behind 
corre, ni siquiera la primera linea.
   
  Un problema casi igual aparecio en:
  http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1341362&SiteID=1
   
  Matias






------------------------------------------------------------------------------

  From: [EMAIL PROTECTED]
  To: puntonet@mug.org.ar
  Subject: [puntonet] HttpWebRequest
  Date: Tue, 20 Mar 2007 13:51:15 -0300

  No, no pregunten por qué puse Hugo, estoy teniendo serios problemas mentales, 
gracias.  =P

   

  Perdón, Matías, ahora sí. 

   

  From: Luis Farzati [mailto:[EMAIL PROTECTED] 
  Sent: Tuesday, March 20, 2007 13:49
  To: 'puntonet@mug.org.ar'
  Subject: RE: [puntonet] HttpWebRequest

   

  Hola Hugo,

   

  Una cosa que estoy notando, si querés enviar información raw (que por el 
ejemplo intuyo que sí), no tenés que especificar un ContentType de 
x-www-form-urlencoded.  Hacé una cosa, probá comentando esa línea y fijate si 
te funciona.

   

  Por otro lado, a modo sugerencia, si la página a la que estás posteando está 
creada únicamente para eso, te convendría mejor que sea un HttpHandler que está 
pensado para eso. Además de por una cuestión formal y prolija, vas a tener 
mejor performance aunque esto sólo lo vas a notar en muy gran escala.

   

  Saludos!

  Luis

   

   

  From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Matias Q
  Sent: Tuesday, March 20, 2007 13:28
  To: puntonet@mug.org.ar
  Subject: [puntonet] HttpWebRequest

   

  Buen dia lista,
   
  Estamos implementando una interfaz con un servicio de pago para Bancos, 
Tarjetas de Credito, etc. Nuestro sistema es Web (.NET 2.0), redirige a una 
pagina del Servicio de Pago donde se valida la tarjeta/banco y luego ellos 
redirigen al cliente nuevamente a nuestro sistema, la pagina que luego recibe 
al cliente tiene un resumen de su pago (la informacion a esta pagina se recibe 
mediante un POST normal de un formulario, asi que utilizamos Request.Form para 
hacerlo). Al mismo tiempo, el Servicio de Pago, envia mediante un proceso 
interno mas informacion a traves de un HttpWebRequest a otra de nuestras 
paginas, no visible al cliente. El problema es que esta pagina que recibe el 
HttpWebRequest, no esta ejecutando ninguna linea de su Code-Behind, no ejecuta 
nada en absoluto. 
   
  El Servicio de Pago lo envia de esta forma:
   
          HttpWebRequest request = (URL);
      
          request.ContentType = "application/x-www-form-urlencoded";
          request.Method = "POST";
          request.Accept = "text/*";
          request.AllowAutoRedirect = false;
          UTF8Encoding Encoding = new UTF8Encoding();
          byte[] postBytes = Encoding.GetBytes("informacion");
          request.ContentLength = postBytes.Length;
          Stream requestStream = request.GetRequestStream();
          requestStream.Write(postBytes, 0, postBytes.Length);
          requestStream.Close();
   
   
  El HttpWebRequest tiene un encoding UTF8 y envia un string de datos, el POST 
llega a nuestro servidor y se registra en el IIS, pero la pagina no corre nada 
de su Code-Behind, ni una linea. El codigo de recepcion se esta ejecutando en 
el evento Page_Load, deberia ser en otro evento? Deberia tener algun tipo de 
header HTTP especial para recibir el HttpWebRequest? Tendra que ver con el 
Encoding?
   
  Si alguien puede iluminarme, lo agradeceria mucho.
   
  Matias


------------------------------------------------------------------------------

  Your friends are close to you. Keep them that way.

   


------------------------------------------------------------------------------

  i'm making a difference. Make every IM count for the cause of your choice. 
Join now!

Responder a