Ver Mensaje Individual
  #9 (permalink)  
Antiguo 29/06/2010, 12:11
hpereira
 
Fecha de Ingreso: abril-2010
Mensajes: 108
Antigüedad: 14 años
Puntos: 2
Pregunta Ayuda con este error porfa

Estoy tratando de mandar un archivo xml con nusoap y me genera este error

-Error: wsdl error: XML error parsing WSDL from http://dua.sat.gob.gt/webdua/ws/WsRecibeDUA?operation=ValidaMensajeXmlDUA/mensaje1.php?wsdl on line 3: Mismatched tag

El archivo que conecta es este

<?

require_once('lib/nusoap.php');

// Crear un cliente apuntando al script del servidor (Creado con WSDL)
$serverURL = 'http://dua.sat.gob.gt/webdua/ws/WsRecibeDUA?operation=ValidaMensajeXmlDUA';
$serverScript = 'mensaje1.php';
$metodoALlamar = 'getXML()';

$cliente = new nusoap_client("$serverURL/$serverScript?wsdl", 'wsdl');

// Se pudo conectar?
$error = $cliente->getError();
if ($error) {
echo '<pre style="color: red">' . $error . '</pre>';
echo '<p style="color:red;'>htmlspecialchars($cliente->getDebug(), ENT_QUOTES).'</p>';
die();
}

// 1. Llamar a la funcion getRespuesta del servidor

$result = $cliente->call(
"$metodoALlamar", // Funcion a llamar
array(), // Parametros pasados a la funcion
"uri:$serverURL/$serverScript", // namespace
"uri:$serverURL/$serverScript/$metodoALlamar" // SOAPAction
);
// Verificacion que los parametros estan ok, y si lo estan. mostrar rta.
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 {
echo base64_decode($result);

}

}

?>



Y ESTE ES EL ARCHIVO QUE ME GENERA EL XML

<?php
// require_once('tidy/cleanhtml.php');
header("Content-type: text/xml");

$host = "localhost";
$user = "root";
$pass = "root123";
$database = "grupo_tradi";

$enlace = mysql_connect($host, $user, $pass) or die("Error MySQL.");
mysql_select_db($database, $enlace) or die("Error base de datos.");

$query = "SELECT * FROM agente_aduanero";
$resultado = mysql_query($query, $enlace) or die("Sin resultados.");

$salida_xml = "<?xml version=\"4.0\"?>\n";
$salida_xml .= "<dua>\n";

for($x = 0 ; $x < mysql_num_rows($resultado) ; $x++){
$fila = mysql_fetch_assoc($resultado);
$salida_xml .= "\t<dua_control>\n";
$salida_xml .= "\t\t<usuario>" . $fila['usuario'] . "</usuario>\n";
$salida_xml .= "\t\t<contrasena>" . $fila['contrasena'] . "</contrasena>\n";
// Corregiendo caracteres incorrectos
$fila['texto'] = str_replace("&", "&amp;", $fila['texto']);
$fila['texto'] = str_replace("<", "&lt;", $fila['texto']);
$fila['texto'] = str_replace(">", "&gt;", $fila['texto']);
$salida_xml .= "\t\t<id_transaccion>" . $fila['id_transaccion'] . "</id_transaccion>\n";
$salida_xml .= "\t\t<tipo_proceso>" . $fila['tipo_proceso'] . "</tipo_proceso>\n";
$salida_xml .= "\t</dua_control>\n";
}

$salida_xml .= "</dua>";

echo $salida_xml;
//ya tengo todos los datos en una variable de texto,
//los grabo en un archivo
$fp=fopen("archivo.xml","w+");
fwrite($fp,$salida_xml);
fclose($fp);
?>

SI ME PODRIAN DECIR CUAL ES MI ERROR PORFA