Foros del Web » Programando para Internet » PHP »

Ayuda PHP + XML WebServices

Estas en el tema de Ayuda PHP + XML WebServices en el foro de PHP en Foros del Web. Necesito ayuda urgente... tengo que realizar una solicitud a un webservices con php, el webservice me entrega como respuesta un codigo de exito o error ...
  #1 (permalink)  
Antiguo 03/02/2010, 15:26
 
Fecha de Ingreso: abril-2007
Ubicación: Concon, Viña del mar
Mensajes: 34
Antigüedad: 17 años
Puntos: 0
Ayuda PHP + XML WebServices

Necesito ayuda urgente...

tengo que realizar una solicitud a un webservices con php, el webservice me entrega como respuesta un codigo de exito o error (uno de los dos ej: codResult='001'), y tbn me entrega como respuesta un documento XML codificado contenido dentro de un objeto tipo String el cual deberá ser leído e interpretado para su lectura.

Entonces no se como se debiera de interpretar esa solicitud, el documento xml tiene la siguiente estructora:

Código PHP:
<?xml version="1.0" encoding="UTF-8"?>
<sistema>
  <nombre_sistema></nombre_sistema>
  <codigo_sistema></codigo_sistema>
  <enlaces>
     <enlace>
        <nombre_enlace></nombre_enlace>
        <fecha_creacion_enlace></fecha_creacion_enlace>
        <fecha_eliminacion_enlace><fecha_eliminacion_enlace>
        <permisos>
           <tipo_permiso></tipo_permiso>
           <estado></estado>
        </permiso>
     </enlace>
  </enlaces>
</sistema>
Ese xml me entregara todos los permisos existentes para ese tipo de enlace, por lo cual solicito ayuda para poder saber como recibir esos datos en php.

Actualmente lo que tengo es algo asi:
Código PHP:
if ($cliente->fault

    echo 
'<b>Error: '
    
print_r($result); 
    echo 
'</b>';
} else 

    
$error $cliente->getError(); 
    if (
$error
    {
        echo 
'<b style="color: red">Error: ' $error '</b>'
    } else 
    { 
        
print_r($result);

        
    }

la variable $result es donde se almacena el resultado de la solicitud, la cual se hizo con la funcion call()
de la libreria nusoap.php

Bueno espero me puedan ayudar en esto ya que no he podido encontrar mayor información al respecto.

Saludos,
Gracias.
  #2 (permalink)  
Antiguo 03/02/2010, 21:40
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda PHP + XML WebServices

Para interpretar archivos XML con php existe la clase DOMDocument, buscala en los manuales, esta muy bien explicado, suerte.
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 04/02/2010, 00:44
Hecto_o_c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda PHP + XML WebServices

Curiosamente yo estoy haciendo algo similar... solo que con "SimpleXML" pues me parece mas facil.

Yo lo haría así:

Código PHP:
<?php
$xml 
= new SimpleXMLElement(
'<?xml version="1.0" encoding="UTF-8"?> 
<item>
<sistema> 
  <nombre_sistema>name1</nombre_sistema> 
  <codigo_sistema>cod1</codigo_sistema> 
  <nombre_enlace>name_enlace</nombre_enlace> 
  <fecha_creacion_enlace>fecha_enlace</fecha_creacion_enlace> 
  <fecha_eliminacion_enlace>fecha_del_enlace</fecha_eliminacion_enlace> 
  <tipo_permiso>permiso_simple</tipo_permiso> 
  <estado>activo</estado> 
</sistema>
</item>
'
);

foreach (
$xml->children() as $sistema) {
    echo 
"Nombre de sistema: " $sistema->nombre_sistema "<br/>";
    echo 
"Codigo de sistema: " $sistema->codigo_sistema "<br/>";
    echo 
"Nombre de enlace: " $sistema->nombre_enlace "<br/>";
    echo 
"Fecha creacion enlace: " $sistema->fecha_creacion_enlace "<br/>";
    echo 
"Fecha eliminacion enlace: " $sistema->fecha_eliminacion_enlace "<br/>";
    echo 
"Tipo de permiso: " $sistema->tipo_permiso "<br/>";
    echo 
"Estado: " $sistema->estado "<br/>";
}


?>
  #4 (permalink)  
Antiguo 04/02/2010, 05:07
 
Fecha de Ingreso: abril-2007
Ubicación: Concon, Viña del mar
Mensajes: 34
Antigüedad: 17 años
Puntos: 0
Respuesta: Ayuda PHP + XML WebServices

muchas gracias, probare lo que me dijeron... igual si ahi alguien con mas ideas que las diga porfa :D

Etiquetas: xml, webservice
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 07:48.