este es el codigo del WS por si surge alguna idea:
Código PHP:
Ver original<?php
header('Content-Type: text/xml;'); require_once 'lib/nusoap.php';
$ns = "http://www.namespace.com/";
$server = new soap_server();
$server->configureWSDL('SociosRegistrados',$ns);
$server->wsdl->schemaTargetNamespace = $ns;
$server->soap_defencoding = 'UTF-8';
$server->register('WmSocioRegistradoInsertar',array('xmlstr' => 'xsd:string'),array('return' => 'xsd:string'),$ns); $server->register('WmSocioRegistradoActualizar',array('xmlstr' => 'xsd:string'),array('return' => 'xsd:string'),$ns);
function WmSocioRegistradoInsertar($xmlstr){
$error = 0;
$totalInsertados = 0;
$xml->registerXPathNamespace('ns', 'http://www.namespace.com/');
if($xml->xpath('//ns:oWmSocioRegistradoInsertarIn')){
foreach ($xml->children('http://schemas.xmlsoap.org/soap/envelope/')->children('http://www.namespace.com/')->WmSocioRegistradoInsertar->oWmSocioRegistradoInsertarIn as $cliente){
$sUsuarioWS = trim($cliente->sUsuarioWS); $sPassWS = trim($cliente->sPassWS); $sUsername = trim($cliente->sUsername); $sPassword = trim($cliente->sPassword); $sNombre = trim($cliente->sNombre); $sLicencia = trim($cliente->sLicencia); $sSexo = trim($cliente->sSexo); $dFechaNac = trim($cliente->dFechaNac); $sMovil = trim($cliente->sMovil); $sEmail= trim($cliente->sEmail); $iSocioRegistradoTipoPermiso = trim((int
)$cliente->iSocioRegistradoTipoPermiso); if (($sUsername != "")
&& ($iSocioRegistradoTipoPermiso != "")
&& ($iSocioRegistradoTipoPermiso != 0)
if (!encontrando($sUsername)){
if(insertando($sUsuarioWS,$sPassWS,$sUsername,$sPassword,$sNombre,$sLicencia,$sSexo,$dFechaNac,$sMovil,$sEmail,$iSocioRegistradoTipoPermiso))
$totalInsertados++;
}
}else{
$error = 1;
}
}
}else{
$error = 2;
}
if ($error == 1){
$error_msj = "Ha dejado campos obligatorios vacíos ó con errores!<br />";
$salida .= "Se han insertado (".$totalInsertados.") registros.";
}elseif($error == 2){
$error_msj = html_entity_decode("No se ha encontrado el contenedor <oWmSocioRegistradoInsertarIn></oWmSocioRegistradoInsertarIn> en su entrada"); $salida = "Se han insertado (".$totalInsertados.") registros.";
}else{
$salida = "Se han insertado (".$totalInsertados.") registros.";
}
$contenido = '<?xml version="1.0" encoding="UTF-8"?>';
$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">';
$contenido .= '<soap:Body><WmSocioRegistradoInsertarResponse xmlns="http://www.namespace.com/">';
$contenido .= '<WmSocioRegistradoInsertarResult>';
$contenido .= '<oError>';
$contenido .= '<iError>1</iError><sMensaje></sMensaje>';
$contenido .= '</oError>';
$contenido .= '<oResp>';
if($error == 0){
$contenido .= '<iResp>1</iResp><sMensaje>Correcto</sMensaje>';
}else{
$contenido .= '<iResp>1</iResp><sMensaje>'.$error_msj.'</sMensaje>';
}
$contenido .= '</oResp>';
$contenido .= '</WmSocioRegistradoInsertarResult>';
$contenido .= '</WmSocioRegistradoInsertarResponse>';
$contenido .= '</soap:Body></soap:Envelope>';
return new soapval('return', 'xsd:string', $contenido);
}
.......