Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/09/2012, 14:52
uchihah
 
Fecha de Ingreso: enero-2010
Ubicación: Barcelona, España
Mensajes: 57
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: nusoap devuelve text/html y no text/xml

este es el codigo del WS por si surge alguna idea:
Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/xml;');
  3. require_once 'lib/nusoap.php';
  4. $ns = "http://www.namespace.com/";
  5. $server = new soap_server();
  6. $server->configureWSDL('SociosRegistrados',$ns);
  7. $server->wsdl->schemaTargetNamespace = $ns;
  8. $server->soap_defencoding = 'UTF-8';
  9. $server->register('WmSocioRegistradoInsertar',array('xmlstr' => 'xsd:string'),array('return' => 'xsd:string'),$ns);
  10. $server->register('WmSocioRegistradoActualizar',array('xmlstr' => 'xsd:string'),array('return' => 'xsd:string'),$ns);
  11.  
  12.  
  13. function WmSocioRegistradoInsertar($xmlstr){    
  14.     $error = 0;
  15.     $totalInsertados = 0;
  16.     $xml = @simplexml_load_string($xmlstr);
  17.     $xml->registerXPathNamespace('ns', 'http://www.namespace.com/');    
  18.     if($xml->xpath('//ns:oWmSocioRegistradoInsertarIn')){
  19.         foreach ($xml->children('http://schemas.xmlsoap.org/soap/envelope/')->children('http://www.namespace.com/')->WmSocioRegistradoInsertar->oWmSocioRegistradoInsertarIn as $cliente){        
  20.             $sUsuarioWS = trim($cliente->sUsuarioWS);
  21.             $sPassWS = trim($cliente->sPassWS);      
  22.             $sUsername = trim($cliente->sUsername);
  23.             $sPassword = trim($cliente->sPassword);
  24.             $sNombre = trim($cliente->sNombre);
  25.             $sLicencia = trim($cliente->sLicencia);
  26.             $sSexo = trim($cliente->sSexo);
  27.             $dFechaNac = trim($cliente->dFechaNac);
  28.             $sMovil = trim($cliente->sMovil);
  29.             $sEmail= trim($cliente->sEmail);
  30.             $iSocioRegistradoTipoPermiso = trim((int)$cliente->iSocioRegistradoTipoPermiso);      
  31.             if (($sUsername != "")
  32.                 && ($iSocioRegistradoTipoPermiso != "")
  33.                 && ($iSocioRegistradoTipoPermiso != 0)
  34.                 && (is_numeric($iSocioRegistradoTipoPermiso))){    
  35.                     if (!encontrando($sUsername)){
  36.                         if(insertando($sUsuarioWS,$sPassWS,$sUsername,$sPassword,$sNombre,$sLicencia,$sSexo,$dFechaNac,$sMovil,$sEmail,$iSocioRegistradoTipoPermiso))
  37.                            $totalInsertados++;                                            
  38.                     }
  39.                 }else{
  40.                     $error = 1;
  41.                 }
  42.                
  43.         }            
  44.     }else{
  45.         $error = 2;        
  46.     }
  47.     if ($error == 1){
  48.         $error_msj = "Ha dejado campos obligatorios vac&iacute;os &oacute; con errores!<br />";
  49.         $salida .= "Se han insertado (".$totalInsertados.") registros.";
  50.     }elseif($error == 2){
  51.         $error_msj = html_entity_decode("No se ha encontrado el contenedor <oWmSocioRegistradoInsertarIn></oWmSocioRegistradoInsertarIn> en su entrada");
  52.         $salida = "Se han insertado (".$totalInsertados.") registros.";
  53.     }else{
  54.         $salida = "Se han insertado (".$totalInsertados.") registros.";
  55.     }
  56.     $contenido = '<?xml version="1.0" encoding="UTF-8"?>';
  57.     $contenido .= '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">';
  58.     $contenido .= '<soap:Body><WmSocioRegistradoInsertarResponse xmlns="http://www.namespace.com/">';
  59.     $contenido .= '<WmSocioRegistradoInsertarResult>';
  60.     $contenido .= '<oError>';
  61.     $contenido .= '<iError>1</iError><sMensaje></sMensaje>';
  62.     $contenido .= '</oError>';
  63.     $contenido .= '<oResp>';
  64.     if($error == 0){
  65.         $contenido .= '<iResp>1</iResp><sMensaje>Correcto</sMensaje>';    
  66.     }else{
  67.         $contenido .= '<iResp>1</iResp><sMensaje>'.$error_msj.'</sMensaje>';            
  68.     }    
  69.     $contenido .= '</oResp>';
  70.     $contenido .= '</WmSocioRegistradoInsertarResult>';
  71.     $contenido .= '</WmSocioRegistradoInsertarResponse>';
  72.     $contenido .= '</soap:Body></soap:Envelope>';    
  73.     return new soapval('return', 'xsd:string', $contenido);
  74. }
  75. .......