Página 2 de 7
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Vie Feb 07, 2014 9:57 am
por MaltrakS
A todo el Camarada interesado tenemos una aplicación específicamente para sincronizar y guardar en base de datos de SQL, toda la información de CSD, LCO y Folios CFD.
Y es configurable, utiliza DTS y la unormación la pueden utilizar a su gusto.
Saludos.
informes mi correo
josmisu_@hotmail.com
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Vie Feb 07, 2014 10:00 am
por MaltrakS
Si, Yo ya lo implemente, y ya lo inclui en una solución , funciona muy bien.
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Vie Feb 07, 2014 2:54 pm
por mauricio
En Python es trivial
Código: Seleccionar todo
import sys
from pysimplesoap.client import SoapClient
data = {
'rfc_emisor': sys.argv[1],
'rfc_receptor': sys.argv[2],
'total': sys.argv[3],
'uuid': sys.argv[4],
}
service = 'https://consultaqr.facturaelectronica.sat.gob.mx/consultacfdiservice.svc?wsdl'
client = SoapClient(wsdl = service)
fac = '?re={rfc_emisor}&rr={rfc_receptor}&tt={total}&id={uuid}'.format(**data)
res = client.Consulta(fac)
if 'ConsultaResult' in res:
print ('Estatus: %s' % res['ConsultaResult']['Estado'])
print ('Código de Estatus: %s' % res['ConsultaResult']['CodigoEstatus'])
Re: (BINGO!!!) Web Service para Validar del SAT
Publicado: Lun Feb 10, 2014 12:18 pm
por Skywalker01
Muchas gracias! me ha sido de gran ayuda!
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Mar Feb 11, 2014 2:24 pm
por s3cr3to
mauricio escribió:En Python es trivial
@mauricio,
Me sale este mensaje en Ubuntu 12.04 x64, instale con "pip install pysimplesoap"
¿De casualidad te ha ocurrido alguna vez? Si te ha ocurrido, ¿como lo resolviste?
Código: Seleccionar todo
sudo pip install pysimplesoap
Downloading/unpacking pysimplesoap
Downloading PySimpleSOAP-1.10.tar.gz
Running setup.py egg_info for package pysimplesoap
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'console'
warnings.warn(msg)
Installing collected packages: pysimplesoap
Running setup.py install for pysimplesoap
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'console'
warnings.warn(msg)
Successfully installed pysimplesoap
Cleaning up...
Solo añadí estas tres lineas para saber si utilizo parametros correctos:
Código: Seleccionar todo
print ('='*77)
print (fac.format(**data))
print ('='*77)
Y si ejecuto desde la consola lo siguiente, me sale este tipo de error:
Código: Seleccionar todo
python wssatvalida.py AAV8705296P4 XAXX010101000 855.80 18270533-399E-4E67-A5AD-26EC5F3180F7
=============================================================================
?re=AAV8705296P4&rr=XAXX010101000&tt=855.80&id=18270533-399E-4E67-A5AD-26EC5F3180F7
=============================================================================
Traceback (most recent call last):
File "wssatvalida.py", line 19, in <module>
res = client.Consulta(fac)
File "/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py", line 141, in <lambda>
return lambda *args, **kwargs: self.wsdl_call(attr, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py", line 285, in wsdl_call
response = self.call(method, *params)
File "/usr/local/lib/python2.7/dist-packages/pysimplesoap/client.py", line 211, in call
raise SoapFault(response.faultcode, response.faultstring)
pysimplesoap.client.SoapFault: a:InternalServiceFault: Error in deserializing body of request message for operation 'Consulta'. OperationFormatter encountered an invalid Message body. Expected to find node type 'Element' with name 'Consulta' and namespace 'http://tempuri.org/'. Found node type 'Element' with name 'Consulta' and namespace 'http://tempuri.org/Imports'
Más tarde intentare instalar desde el repositorio, de acuerdo a este post parece hay una correccion:
http://code.google.com/p/pysimplesoap/i ... ail?id=105
O luego intentaré desde "guindos".
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Mar Feb 11, 2014 7:27 pm
por mauricio
Prueba con la que anexo, es con la que hice el ejemplo...
Saludos
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Mié Feb 12, 2014 10:18 am
por s3cr3to
@mauricio: Gracias!
Tu versión (1.11) me funcionó en guindos XP. Me pregunto si la versión en Git 1.12 funcionará... mmh ... (minutos despues)... éxito con versión 1.12
Código: Seleccionar todo
=============================================================================
?re=AAV8705296P4&rr=XAXX010101000&tt=855.80&id=18270533-399E-4E67-A5AD-26EC5F3180F7
=============================================================================
Estatus: Vigente
Codigo de Estatus: S - Comprobante obtenido satisfactoriamente.
Curioso, luego veré que ocurre que en Ubuntu no pega. Quizás en Arch me vaya mejor.
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Mié Feb 12, 2014 12:48 pm
por mauricio
s3cr3to escribió:Quizás en Arch me vaya mejor.[/i]
En Arch va de lujo, mi equipo de trabajo usa Arch, solo Arch
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Jue Feb 13, 2014 8:54 am
por ThanatosMK
Muchas Gracias MaltrakS !! Después de días de estar haciendo pruebas y pruebas con un montón de cadenas llegué naufragando a este foro y gracias a tu post pude resolver el problema.
Re: (Nuevo) Web Service para Validar del SAT
Publicado: Jue Feb 13, 2014 11:18 am
por Dunmord
Yo estoy teniendo problemas a la hora de enviar los datos. Me funciona con SoapUI, pero a la hora que lo intento pasar a mi PHP, me regresa un error
Código: Seleccionar todo
array(1) { [0]=> string(47) "ConsultaResponse Consulta(Consulta $parameters)" } object(stdClass)#2 (1) { ["ConsultaResult"]=> object(stdClass)#3 (2) { ["CodigoEstatus"]=> string(59) "N - 601: La expresión impresa proporcionada no es válida." ["Estado"]=> string(13) "No Encontrado" } }
No soy experto en Soap, una disculpa si estoy haciendo una novatada jeje... pero he estado días con este error.
Les agradeciera muchísimo retroalimentación del código en PHP que les pongo. Uso el ejemplo que pusieron en este tema para que vean que si he checado los foros por posibles respuestas.
Código: Seleccionar todo
<?php
/*
<![CDATA[?re=BEN9501023I0&rr=SARM8209281F1
&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075]]>
*/
try{
$soap = new SoapClient("https://consultaqr.facturaelectronica.sat.gob.mx/consultaCFDIService.svc?wsdl");
}
catch(Exception $e)
{
echo $e->getMessage();
}
var_dump($soap->__getFunctions());
//$fac = '?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"';
$fac = json_encode(array("re"=>"BEN9501023I0", "rr"=>"SARM8209281F1", "tt"=>"440.000000", "id"=>"EC609EC1-5F63-4333-A2B8-2EDC10B68075"));
//$fac = "<![CDATA[?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075]]>";
$test = $soap->Consulta($fac);
var_dump($test);
?>
Están comentados diferentes partes de $fac porque he probado de diferentes maneras y todas me regresan el error.