Tema: nuSoap
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/06/2012, 06:21
Avatar de luis010182
luis010182
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
nuSoap

Necesito que el webservice me devuelva un XML, hasta ahora tengo esto en el servidor.
Código PHP:
# informa la conexion
require_once('includes/init.php');
# libreria nuSoap
require_once('classes/soap/nusoap.php'); 
$URL 'http://localhost/'
$server = new soap_server(); 
$server->configureWSDL('ws_nombre'$URL); 
$server->wsdl->schemaTargetNamespace=$URL;

$server->wsdl->addComplexType(
    
'Competitor',
    
'complexType',
    
'struct',
    
'all',
    
'',
    array(
        
'ID_Competitor' => array('name'=>'ID_Competitor''type'=>'xsd:int'),
        
'Competitor' => array('name'=>'Competitor''type'=>'xsd:string')
    )
);

$server->wsdl->addComplexType(
    
'Competitors',
    
'complexType',
    
'array',
    
'',
    
'SOAP-ENC:Array',
    array(),
    array(
        array(
'ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Competitor[]')
    ),
    
'tns:Competitor'
);

            
/* competidores */
$server->register('getCompetitors'// Nombre de la funcion 
                   
array(), // Parametros de entrada 
                   
array('return' => 'tns:Competitors'), // Parametros de salida 
                   
$URL
                    
); 
                   
function 
getCompetitors(){
    global 
$db;
    
$sql "SELECT * FROM Competitors";
    
$respuesta $db->getAll($sql);
    return new 
soapval('return''tns:Competitors'$respuesta );
}


$HTTP_RAW_POST_DATA strcasecmp($_SERVER['REQUEST_METHOD'], 'POST') == 0? (isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input")) : NULL;
$server->service($HTTP_RAW_POST_DATA); 
No se como armar la estructura compleja para que me devuelva un XML, como esta ahora solo me devuelve un array.