Foros del Web » Programando para Internet » PHP »

Tratar XML de respuesta de un POST (sin archivo)

Estas en el tema de Tratar XML de respuesta de un POST (sin archivo) en el foro de PHP en Foros del Web. Buenas, tengo una aplicación que se necesita servicios externos, con lo cual llamo a una API mediante por POST con sus parámetros que requieren, y ...
  #1 (permalink)  
Antiguo 10/12/2011, 12:55
 
Fecha de Ingreso: octubre-2008
Ubicación: España
Mensajes: 28
Antigüedad: 16 años, 1 mes
Puntos: 1
Tratar XML de respuesta de un POST (sin archivo)

Buenas, tengo una aplicación que se necesita servicios externos, con lo cual llamo a una API mediante por POST con sus parámetros que requieren, y me devuelve un XML con los datos que necesito y su código de error.

El ejemplo es éste para enviar:

Código PHP:

<form action="http://api.streamapi.com/service/session/create" method="POST">
        <input type="Text" name="key" value="<?php echo $key?>">
        <input type="Text" name="sig" value="<?php echo $sig?>">
        <input type="Text" name="rid" value="<?php echo $rid?>">
        <input type="Submit" value="CREAR SESION">
</form>
Y recibo como respuesta, que lo veo en el navegador:

Código PHP:

This XML file does not appear to have any style information associated with it

The document tree is shown below.

<
streamapi>
     <
private_hostid>EFEIFRHYTISMHM65WQJNVQADSYF27SDL</private_hostid>
     <
public_hostid>1006574319</public_hostid>
     <
code>0</code>
</
streamapi

Entonces, necesito sacar los tres valores (private_hostid, public_hostid y code) para poder manejarlo en el resto de la web, pero con los manuales que encuentro por internet y foros solo explican como tratar XML a partir de un archivo, pero no sé cómo tratarlo desde la respuesta que me envían por método POST. ¿Hay algún manual que explique eso? o ¿cómo puedo convertir eso en un archivo, para luego tratarlo desde este archivo?. O mejor aún, tengo que enviar por POST de otra forma?

¡Gracias de antemano!
  #2 (permalink)  
Antiguo 10/12/2011, 19:49
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Tratar XML de respuesta de un POST (sin archivo)

con simpleXML puedes tanto leer desde un archivo, como pasar la data desde una variable string
http://www.php.net/manual/en/functio...oad-string.php
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/12/2011, 11:39
 
Fecha de Ingreso: octubre-2008
Ubicación: España
Mensajes: 28
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Tratar XML de respuesta de un POST (sin archivo)

Gracias, pero lo que hace simpleXML es tratar desde una variable string. Y yo no tengo ninguna variable, solo recibo mediante respuesta de POST texto en XML y no se guardarlo en una variable para tratarlo luego.

¿Cómo puedo hacer una llamada mediante POST para guardar luego la respuesta en una variable?

Yo de momento hago una llamada al POST así:

Código:
<form action="http://api.streamapi.com/service/session/create" method="POST"> 
        <input type="Text" name="key" value="<?php echo $key; ?>"> 
        <input type="Text" name="sig" value="<?php echo $sig; ?>"> 
        <input type="Text" name="rid" value="<?php echo $rid; ?>"> 
        <input type="Submit" value="CREAR SESION"> 
</form>
Saludos!
  #4 (permalink)  
Antiguo 11/12/2011, 11:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Tratar XML de respuesta de un POST (sin archivo)

¿O sea que jamás has asignado variables de la respuesta de un post?

Caray, siempre lo mas básico lo olvidan o lo ignoran, lee esto:
http://www.php.net/variables.external

Tan simple como:
Código PHP:
$variable $_POST['nombre_campo']; 
O mejor aún, $_POST ya es una variable por lo cual podría usarla directamente.

Ahora, es claro que necesitas ejecutar dicho POST con cURL y no con un formulario, investiga en los aportes del foro.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 11/12/2011, 18:20
 
Fecha de Ingreso: octubre-2008
Ubicación: España
Mensajes: 28
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Tratar XML de respuesta de un POST (sin archivo)

Creo que no me he explicado bien...

El $_POST que me mencionas, pateketrueke, es la variable del servidor. Yo no tengo ese servidor sino que es un servicio que estoy pidiendo externamente, es una API externa a la que pago.

Estoy haciendo una web 'broadcasting', o sea, en mi servidor, pido petición para crear sesión y emitir vídeo 'host' para que los clientes me puedan ver. Y el servicio de 'broadcasting' es 'StreamAPI.com', con lo cual tengo una cuenta allá para poder manejar el streaming.

En esa web hay un pequeño manual que pone ([URL="https://streamapi.com/howto/broadcast.do"]link[/URL]):

Request

POST http://api.streamapi.com/service/session/create

key => IEKDUCKDKDIEDKWIQDK1038DKLEIC8202K
rid => 123456
sig => ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH

Response

private_hostid C0UC4WO3ATORK259QL1STSIZO7RB1G5I
public_hostid 1745122342

Que lo recibo perfectamente en formato XML que puedo visualizar en mi navegador:

Código:
This XML file does not appear to have any style information associated with it.  
The document tree is shown below. 

<streamapi> 
     <private_hostid>EFEIFRHYTISMHM65WQJNVQADSYF27SDL</private_hostid> 
     <public_hostid>1006574319</public_hostid> 
     <code>0</code> 
</streamapi>
¿Cómo obtengo el valor 'private_hostid' para guardarlo en una variable? Porque este XML no está guardado en ningún lugar para poder tratar luego sus nodos (datos). Simplemente veo la respuesta en el navegador y nada más.

Saludos!

Etiquetas: post, respuesta, xml
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 14:45.