Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2014, 09:52
AJDC
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
Obtener header de vuelta

Hola.
Tengo un código que envía un xml a otra página, mediante curl.

Desde esa página de destino, se procesa el xml recibido, y según el valor de uno de sus nodos... tengo que devolver a la página inicial un contenido, pero donde se especifique un header status 200 (ok) u otro distinto, por ejemplo, 404, según dicho valor.

El envío del xml lo tengo "bien", pero no consigo generar y leer de vuelta el header correspondiente.

Os pego el código de la página que envía...
Código PHP:
$ch curl_init();
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_URL"http://xxx.xxx.xxx.xxx/recepcion.php");
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$cuerpoXML);
// "XML" es el inicio del xml para recibirlo como variable en el destino.
curl_setopt($chCURLOPT_HTTPHEADER, array('Connection: close'));
$content2=curl_exec($ch); 
Código de la página que recibe el xml y tiene que responder con el header 200 ó 404
Código PHP:
if(isset($_POST['XML'])){
  
//Si el valor de un nodo (por ejemplo "nodo1") es = 1 -> header 200
  //Si el valor de un nodo (por ejemplo "nodo1") es = 0 -> header 404
}else{
  
//Devolver un header de error, por ejemplo 503

En la página "1" tengo que recuperar el header que me devuelve la página 2.

Version php 5.4.3
Espero haberme explicado bien.. si no, lo intento hacer mejor...

Muchas gracias