Cita:
Iniciado por abrahamhs Te recomiendo remover el BOM de los archivos XML. La codificacion debe ser utf8 sin BOM. Los caracteres del BOM a veces tiran la conexion. Los xml suelen traer caracteres que no pueden viajar por internet por lo que recomiendo que se codifique el archivo en base64 y en el server se decodifiquen para leerlos. Yo hice esto para una prueba y me funciona y hasta mando el pdf:
<html>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate"/>
<meta http-equiv="Pragma" content="nocache"/>
<script type="text/javascript">
</script>
<body>....
Muchas muchas muchas pero muchas gracias, pude arreglar mi problema con lo que tu me pones, modificando y arreglando el codigo para adaptarlo mis necesidades, al fin pude y realmente me ayudaste mucho... ASi quedó... Y espero que gente de la comunidad que tenga que entregar en soriana les sirva...
Código PHP:
<html>
<head>
<title>Puto soriana</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate"/>
<meta http-equiv="Pragma" content="nocache"/>
</head>
<body>
<form action="index.php" method="POST" enctype="multipart/form-data" accept-charset="UTF-8">
<label>Enviar</label><input type="file" name="xml" accept="application/xml">
<button type="submit">Enviar</button>
</form>
<?php
if(isset($_FILES['xml'])){
function remove_utf8_bom($text){
$bom = pack('H*','EFBBBF');
$text = preg_replace("/^$bom/", '', $text);
return $text;
}
$url="http://serviciosweb.soriana.com/RecibeCfd/wseDocRecibo.asmx?wsdl";
$xml=$_FILES['xml'];
$rutaxml=$_FILES['xml']["tmp_name"];
$strContenidoXml = remove_utf8_bom(file_get_contents($rutaxml));
$parametros=array();
$parametros['XMLCFD']=$strContenidoXml;
ini_set("soap.wsdl_cache_enabled", "0");
$client=new SoapClient($url);
$resultado= $client->RecibeCFD($parametros);
echo "<textarea style='width: 400px;' rows='20'>".$resultado->RecibeCFDResult."</textarea>";
}
?>
</body>
</html>