Foros del Web » Programando para Internet » PHP »

Duda Servicio Web PHP + NuSOAP

Estas en el tema de Duda Servicio Web PHP + NuSOAP en el foro de PHP en Foros del Web. Muy buenas a todos, Tengo algunas dudas con respecto a un servicio web que estoy implementando. Os dejo parte del código del servidor/cliente, que seguro ...
  #1 (permalink)  
Antiguo 25/01/2011, 04:22
 
Fecha de Ingreso: enero-2011
Ubicación: Bilbao
Mensajes: 18
Antigüedad: 13 años, 3 meses
Puntos: 0
Duda Servicio Web PHP + NuSOAP

Muy buenas a todos,

Tengo algunas dudas con respecto a un servicio web que estoy implementando. Os dejo parte del código del servidor/cliente, que seguro que es más facil explicarme con él.

Servidor:

Código PHP:
$server->register('getXML'//Nombre del metodo
                  
array (), //Parametros de entrada
                  
array('xml1' => 'xsd:string',
                        
'xml2' => 'xsd:string'), //Parametros de salida
                  
"uri:$miUrl"//Namespace
                  
"uri:$miUrl#getXML"//Soapaction
                  
'rpc'//style
                  
'encoded'
                  
);

function 
getXML ()
{
    
//URL donde se encuentra el XML
    
$pathxml './XML/XML1.xml';
    
$pathxml2 './XML/XML2.xml';
    if (
file_exists($pathxml) && file_exists($pathxml2)) {
        
$xml cargarXML($pathxml);
        
$xml2 cargarXML($pathxml2);
    } else {
        echo 
"No se encuentra el fichero XML <br />";
    }

    
$respuesta = array(new soapval('xml1''xsd:string'base64_encode($xml)), new soapval('xml2''xsd:string'base64_encode($xml2)));

    
//Como $xml es un string, el tipo de datos del valor de sopa es xsd:string
    
return $respuesta;

cliente:

Código PHP:
$parametros = array();

//1. Llamar a la funcion getXML del servidor
$result $client->call(
              
'getXML'//Metodo a llamar
              
$parametros//Parametros de entrada
              
"uri:$server_url/$server_script"//Namespace
              
"uri:$server_url/$server_script#getXML" //Soapaction
        
);

if (isset(
$result)) //ESTO NO SE SI ESTARÁ BIEN
{
    
$string_dec base64_decode($result[0]);
    
$sxml simplexml_load_string($string_dec);
    
$dom importarSimpleXML($sxml);
    
$string_dec base64_decode($result[1]);
    
$sxml simplexml_load_string($string_dec);
    
$dom2 importarSimpleXML($sxml);



El Servidor publica un servicio que devuelve dos XML codificados como strings, y tengo dos dudas:

1. La funcion getXML() devuelve un array ($respuesta) con los dos strings, pero al publicar el servicio, hay que hacer alguna referencia a $respuesta? O Está correctamente hecho en el código?

2. Cuando el cliente llama al servicio ($client->call()), se le devuelve $result. Esa variable ($result) es un array con los dos strings? Es decir, se pueden acceder a ellos como $result[0] y $result[1]?

Muchas gracias de antemano!

Etiquetas: php+soap, 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 12:11.