Foros del Web » Programando para Internet » ASP Clásico »

Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Estas en el tema de Leer XML con ASP desde la URL (mi página escucha no se ejecuta) en el foro de ASP Clásico en Foros del Web. Buenas foreros Sé que hay varios post que comentan el problema de leer XML con ASP.. pero ninguno me ha servido para aclararme. El caso ...
  #1 (permalink)  
Antiguo 29/01/2007, 12:03
Avatar de Subotai  
Fecha de Ingreso: mayo-2003
Ubicación: Irúnforge
Mensajes: 198
Antigüedad: 21 años, 1 mes
Puntos: 1
Pregunta Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Buenas foreros

Sé que hay varios post que comentan el problema de leer XML con ASP.. pero ninguno me ha servido para aclararme.
El caso es que tengo una aplicación que tiene que hacer una cosa no muy corriente, allá voy:

Al comprar lo que sea en mi tienda online, se paga a través de un banco con una pasarela segura. Al pagar, se carga una página del banco y yo PIERDO EL CONTROL del navegador, una vez validada la transacción por el banco, la aplicación del banco redirecciona el navegador del usuario a una página que yo le indico.
Hasta ahi todo facil, pero es que por la puerta trasera, por así decirlo, el banco envía una URL
Código:
(Ejp: https://mipagina/unacarpeta/recibeXML.asp?peticion=<var><accion><modelopago>4</modelopago><url>http://www.unaURL.asp</url><modelo>true</model></accion></var>)
con datos en formato XML a otra página diferente que yo le indico.
Esta página jamás se verá, pero permanece siempre a la escucha, cuando le llega algo, se ejecuta.

mi pregunta es, como puedo recoger esa URL del banco??

Estoy intentándolo así:
Código PHP:
set xmldoc Server.CreateObject("Microsoft.XMLDOM")
xmldoc.async=false
xmldoc
.load(request)

for 
each x in xmldoc.documentElement.childNodes
       
if x.NodeName "nombreParametro1" then sstrNombreVariable1 x.NodeName("nombreParametro1")
     if 
x.NodeName "nombreParametro2" then sstrNombreVariable2 x.NodeName("nombreParametro2")
     if 
x.NodeName "nombreParametro3" then sstrNombreVariable3 x.NodeName("nombreParametro3")
     if 
x.NodeName "nombreParametro4" then sstrNombreVariable4 x.NodeName("nombreParametro4")
    
next 
y después usar los valores almacenados en las variables para hacer lo que sea... pero no obtengo ningún resultado..

Me han comentado que la URL llega en formato HEXADECIMAL, puede ser la razón de que no funcione?

La página está en ASP, me encuentro un poco perdido ¬¬ voy bien? voy fatal? alguien puede ayuarme??

Mil GRACIAS

Última edición por jam1138; 31/01/2007 a las 01:33
  #2 (permalink)  
Antiguo 31/01/2007, 01:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 10 meses
Puntos: 102
Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Movido al foro de ASP
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 31/01/2007, 13:18
Avatar de Subotai  
Fecha de Ingreso: mayo-2003
Ubicación: Irúnforge
Mensajes: 198
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

YA tengo el código que recoge y procesa el XML de la URL, pero el problema parece ser otro mas grave, esto es, no consigo que esa página ejecute nada.

No consigo ejecutar ni una sola línea de código.

He probado dejándola limpia, tan solo con una insert muy sencilla (que está probada y se que funciona) y nada.

Solo se ejecuta manualmente, si pongo la direccion en el navegador y pulso enter, todo va de maravilla, pero tiene que funcionar ELLA SOLA cuando el banco le lanza esa petición que no se ejecuta desde el navegador del usuario, sino que es llamada desde otro servidor (el del banco) fuera de mi dominio.

Para hacerlo necesito un servidor de aplicaciones o algo por el estilo?? este link dice que ASP solo necesita IIS como servidor de aplicaciones.. no se, me encuentro en un callejón sin salida

Hay alguien que sepa algo al respecto?

estaré eternamente agradecido esto me lleva trayendo de cabeza muchos largos dias
  #4 (permalink)  
Antiguo 26/04/2007, 10:59
 
Fecha de Ingreso: diciembre-2003
Mensajes: 3
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Hola, yo tengo un problema parecido, puesto que la pagina que le indico al banco que debe recibir la respuesta no se ejecuta, si alguien sabe algo, le agradecería nos ayudase.

Gracias.
  #5 (permalink)  
Antiguo 26/04/2007, 17:13
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

mmmmmmmmm, disculpa pero me ha llamado la atención el problema que tienen ...

A ver, tengo algunas dudas:

dices que el Banco redirecciona o envía el XML a la página que tu le indicas?

Supongo que te manda el XML y no redirecciona (estoy en lo correcto?), ahora, esa página que recibe el XML, es la que no puede mandar a ejecutar otro ASP? ahí es donde ya me perdí
  #6 (permalink)  
Antiguo 27/04/2007, 11:13
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Seguramente lo que pasa es que en realidad la llamada al banco tiene que ser via xmlhttp request, y hay algo que estas haciendo mal en el paso de los parámetros, en otras palabras, la transacción se ejecuta en el "background" de tu aplicación, el cliente nunca se entera que está abandonando tu sitio, y todo se resume en que estás manejando mal la llamada xmlhttp, pero bueno solo estoy asumiento, como dijo Myakire, necesitarías darnos más datos.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 09/05/2007, 10:00
Avatar de Deeo  
Fecha de Ingreso: abril-2006
Ubicación: MEX-DF
Mensajes: 26
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Hola que tal, yo tengo un caso muy similar espero nos ayudemos, les platico
un proveedor de contenido primero realiza HEAD request a una direccion que yo les he proporcionado enviando esta cadena de xml

<?xml version="1.0" encoding="iso-8859-1" ?>
<ring-tone-request uid="xxxx" password="xxxx">
<ring-tone type="im" id="1" device="1" reqID="xxxxxx" source="0" promo="" user_agent="Nokia3650/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0" />
</ring-tone-request>

Si los encabezados que yo le regrese son los correctos realizan un POST request con la misma cadena de xml para que ahora yo le regrese contenido solicitado

He investigado con ellos como realizan el envio pero desconocen como lo hacen ya que dependen de un tercero.

Lo que yo hago de mi lado es lo siguiente es obtener el xml de esta manera

set docReceived = CreateObject("Microsoft.XMLDOM")
docReceived.async = False
docReceived.load (Request)
'docReceived.Load (Server.MapPath("req.xml"))

Dim objNamedNodeMap, intAtt, strAttName
Set objNamedNodeMap = docReceived.documentElement.firstChild.attributes

For Each intAtt in objNamedNodeMap
select case intAtt.name
case "type"
tipo = intAtt.value
case "id"
id = intAtt.value
case "device"
device = intAtt.value
case "reqID"
reqID = intAtt.value
case "source"
sourcee = intAtt.value
case "promo"
promo= intAtt.value
end select
Next

'Y les devuelvo los headers de esta manera ya con algunos datos en las variables

Response.Buffer = True
Response.Addheader "X-SM.TRANSACTION", consecutivo
Response.ContentType = tipoContenido
Response.AddHeader "content-length", tamanio
Response.AddHeader "content-disposition", "attachment; filename=" & contenido
Response.BinaryWrite stream
Response.Flush


Ya con lo anterior realizo otras tareas para devolver el contenido.

El problema aqui es que si yo hago un metodo que envie ese xml a mi direccion web funciona correctamente e incluso si lo toma desde un archivo como aparece comentado tambien funciona, pero cuando ellos hacen la prueba correspondiente comienza a fallar. Desconozco la causa y ya me anda desesperando el asunto.

Saludos
  #8 (permalink)  
Antiguo 31/05/2007, 14:51
Avatar de Deeo  
Fecha de Ingreso: abril-2006
Ubicación: MEX-DF
Mensajes: 26
Antigüedad: 18 años, 1 mes
Puntos: 0
De acuerdo Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Hola a todos.....

Me paseaba nuevamente por aca y no vi respuesta a mi peticion.

La buena noticia es que ya resolvi el problema, se los posteo igual y a alguien le sirve.

Como no sabia cual era la forma en que me enviaban el xml, revise el log del iis y encontre que me lo enviaban por una variable, tal como lo postea Subotai.

Una vez esto me enfrente al problema al realizar el load de la variable (igual que Subotai). Les posteo la parte en negritas que a ambos nos hacia falta.

set docReceived = CreateObject("Microsoft.XMLDOM")
docReceived.async = False

docReceived.setProperty "ServerHTTPRequest", true
docReceived.loadXML XMLString



El XMLString es el nombre de la variable que me envian y el ServerHTTPRequest debe estar en true ya que el xml viene de fuera (posteado por el http) y no se encuentra en el mismo servidor.


Saludos
  #9 (permalink)  
Antiguo 01/06/2007, 01:55
Avatar de Subotai  
Fecha de Ingreso: mayo-2003
Ubicación: Irúnforge
Mensajes: 198
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: Leer XML con ASP desde la URL (mi página escucha no se ejecuta)

Wow! que de tiempo sin pasar por aquí... xDD

Sin más, comentar que lo mio era una mancada personal, tenía un error en una de las páginas anteriores y hacía que no funcionase todo, una maldita comilla, doble comilla por doble comilla, comilla, o al revés no recuerdo ya ><!

El código es correcto, puede que varíe en algunas cosas, sobre todo por el server que os responda, pero los fundamentos son exactamente los mismos.

Para el que se enfrente por primera vez, que no se desanime, es más sencillo de lo que parece ^^ tan solo es programar un parsher.

PD: Me pasé al php+mysql xD
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:40.