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
angreyes escribió:No vi donde ponerlo en el foro pero si ya existe uno comentar por favor ......

la pregunta es si alguien de ustedes ya implemento lo que esta en esta liga.


ftp://ftp2.sat.gob.mx/asistencia_servic ... taCFDI.pdf

saludos.
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
MaltrakS escribió:Listo ya funciono Camaradas.

<tem:expresionImpresa>
<![CDATA[?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075]]>
</tem:expresionImpresa>

<ConsultaResult xmlns:a="http://schemas.datacontract.org/2004/07 ... i.Servicio" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</a:CodigoEstatus>
<a:Estado>Vigente</a:Estado>
</ConsultaResult>

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.