Página 2 de 2

Re: Web Service para Validar del SAT

Publicado: Mar Jun 12, 2012 12:18 pm
por naringas
si lo es, y es por eso que esa es la validación principal en mi programa.
sin embargo si implemente las dos formas, por si acaso en un futuro arreglan la validación lo del certificado.

Re: Web Service para Validar del SAT

Publicado: Mar Jun 12, 2012 12:32 pm
por Dado
.......si en un futuro arreglan la validacion........... escucha lo que tu mismo dices...NO FUNCIONA !!!

Pero te pido una disculpa si tenemos ideas contrarias, muy respetable tu decision. 8-)

Re: Web Service para Validar del SAT

Publicado: Mié Jun 13, 2012 12:15 pm
por naringas
jeje :-P

la verdadera razón por la que si lo implemente fue por que nunca había implementado nada que usara un web service y quería aprender... así aprendí que SOAP es una mole que debe ser remplazada por REST.

Re: Web Service para Validar del SAT

Publicado: Sab Jun 16, 2012 12:26 pm
por Adrian Mundo
Hola, no se mucho de PHP, pero logre aislar el resultado para hacerlo un poco menos confuso, les comparto el codigo, aunq concuerdo en que no es de mucha utilidad ya que en algunos cosos regresa el resultado VI, cuado el xml es totalmente valido, si alguien tiene mas informacion, no deje de postearla, saludos.

Codigo (Los datos del xml son invalidos, asi que regresara como resultado II, simplemente coloquen los datos de un xml que tengan a la mano):

<?php


$cadena_xml="<?xml version='1.0' encoding='UTF-8'?><ColleccionFoliosCfd xmlns='http://www.sat.gob.mx/Asf/Sicofi/Valida ... sCFD/1.0.0'> <Folio> <Id>1</Id> <Rfc>AAA121212AAA</Rfc> <Serie>FA</Serie> <NumeroFolio>9</NumeroFolio> <NumeroAprobacion>12345</NumeroAprobacion> <AnioAprobacion>2010</AnioAprobacion> <CertificadoNumeroSerie>0000011111111</CertificadoNumeroSerie> <CertificadoFechaEmision>2011-12-12T14:20:15</CertificadoFechaEmision> </Folio></ColleccionFoliosCfd>";


$soap = new SoapClient("https://tramitesdigitales.sat.gob.mx/Si ... .asmx?WSDL");
$result= $soap->ValidarXmlCFD(array('xml' => $cadena_xml));
$array=$result->ValidarXmlCFDResult;

$datos=count($array);
$cadena=" ";

$inicia=0;
$termina=0;
$encontro=0;
for($i=0;$i<1000;$i++)
{
if ($inicia==1 && $array[$i]!='>')
{
$cadena=$cadena . $array[$i];
}

if ($array[$i]=='<')
{
$inicia=1;
}

if ($array[$i]=='>')
{
$termina=1;
}

if ($termina==1)
{
if ($cadena=='cfd:ResultadoValidacion')
{
echo "Resultado=" . $array[$i+1].$array[$i+2];
$i=1500;
}
$cadena='';
$inicia=0;
$termina=0;
}
}


?>