Facturacion Electronica Peru, Metodo sendBill

Facturacion Electronica Peru, Metodo sendBill

Postby Enrrique Vertiz » Thu Sep 11, 2014 3:03 am

Saludos

Tengo un problema para comunicarme con este servicio que brinda la SUNAT aqui en Peru, con la inestimable ayuda de nuestro amigo Benjamin, se armo la consulta XML para el webService, esta incluye un metodo sendBill que debe enviar 2 datos, uno un archivo ZIP con un documento XML dentro y el otro, que no tengo idea de como hacerlo es "se debe consignar el contenido del archivo ZIP en un arreglo de Bytes", aqui tengo un ejemplo de como lo hacen en VB :

/*
Dim billService As New Sunat.billServiceClient
billService.sendBill(fileName, contentFile)
billService.sendSummary(fileName, contentFile)
billService.getStatus(ticket)

billService.sendBill('20100066603-01-F001-1.zip', File.ReadAllBytes('/path/to/file/20100066603-01-F001-1.zip'))
*/

Yo lo pongo en FWH asi :

http:Open( "POST", "https://www.sunat.gob.pe/ol-ti-itcpgem-sqa/billService", .F. )
http:SetRequestHeader( "Content-Type" , "text/xml;charset=ISO-8859-1" )
http:SetRequestHeader( "SOAPAction" , "sendBill(cFileZip,...............)" )

Ese metodo sendBill que invoco envia 2 parametros, el ZIP y el arreglo de bytes que no tengo idea de que funcion FWH o xHarbour utilizar ...

Gracias ...
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 541
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Facturacion Electronica Peru, Metodo sendBill

Postby LuisPonce » Tue Jul 26, 2016 5:22 am

Hola Enrique

Estoy en el mismo dilema, no obstante hice algunos avances, quisiera saber si lo pudiste resolver, o alguien pudo avanzar al respecto...

Antonio, tal vez exista mas informacion?

no quiero morir en el intento.

Gracias
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: Facturacion Electronica Peru, Metodo sendBill

Postby benjiben143 » Tue Jul 26, 2016 3:39 pm

Hola enrique
buenos dias


te anexo la llamada de la dll que convierte el zip a arreglo de bytes

Code: Select all  Expand view  RUN

#include "FiveWin.ch"


function Main()

   local oEleben, o

   TRY
      oEleben := CreateObject( "Classlibrary2.class1" )
     
     
     MSGALERT( "entro ")
   
   CATCH
      MSGALERT( "Na nai")
     
   END
   
   o:=oeleben:StreamFile("abrir.zip")   // lo convierte a arreglo de bytes
 
 
   
 Return nil
 


la dll la puedes bajar en
www.eleben.com.mx/cl.zip
la registras y la puedes usar

saludos
Benjamin Casarrubias Moreno
Cd. Obregon, Sonora, Mexico
chino72vale@hotmail.com
Fivewin 16.05, Harbour 3.2, xharbour 1.2.1, Fivelinux, visual estudio 2013
benjiben143
 
Posts: 116
Joined: Wed Mar 11, 2009 7:32 pm
Location: Obregon, Sonora, Mexico

Re: Facturacion Electronica Peru, Metodo sendBill

Postby Enrrique Vertiz » Tue Jul 26, 2016 8:44 pm

Saludos Luis

Si lo resolvi, hay que mandar el archivo adjunto, convertido a base64 como indica el manual de la Sunat

http:SetRequestHeader( "SOAPAction" , "sendBill(cFileZip,xfile)" )

xFile es el ZIP convertido, y después recibes la respuesta de SUNAT
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 541
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Facturacion Electronica Peru, Metodo sendBill

Postby LuisPonce » Wed Jul 27, 2016 6:04 am

Gracias Benjamin
Intente registrar la libreria que me pasaste:

regsvr32 ClassLibrary2.dll

Sin exito me da el siguiente mensaje: "Se cargo el modulo ClassLibrary2.dll, pero no se encontro el punto de entrada DllRegistrerServer Asegurese que ClassLibrary2.dll es un archivo DLL u OCX valido e intentelo de nuevo"

He buscado en internet, y es posible que la .dll este corrupta o sea de 64bits cuando yo tengo W7 de 32 o viceversa, por lo tanto no he podido ejecutar el ejemplo que me alcanzaste amablemente.

Enrique muchas gracias por tu respuesta;
Lo estuve trabajando con esta instruccion, que proviene del VB:

Code: Select all  Expand view  RUN
ohttp:SetRequestHeader( "SOAPAction" , "sendBill(cFileZip,File.ReadAllBytes(cFileZip))" )
 

y como retorno obtenia lo siguiente:

Code: Select all  Expand view  RUN
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>[b]0156[/b]</faultcode><faultstring>-</faultstring></S:Fault></S:Body></S:Envelope>
 

Donde el codigo 0156: indica que el archivo zip es corrupto (segun el Anexo 2 de la lista de errores)

Desde luego me aclaras el panorama, para convertir a base64 encontre una funcion HB_Base64Encode(), al parecer mi xHarbour 1.1.0 no la tiene, pero encontré un alcance que publicó JPonce (Auteur Badara Thiam) en este mismo foro:

viewtopic.php?f=6&t=25690&p=140504&hilit=base64&sid=3913569c54c77a1c98656e0c0a746f99#p140504

Excelente alcance, donde comparte unas funciones, entre ellas StrToBase64() la cual convierte string a base64, entonces hago lo siguiente:

Code: Select all  Expand view  RUN
cZip:=MemoRead(cFileZip)  // leo el contenido del zip
xFileZip:=StrToBase64(cZip) // lo convierto a base64
 

hago la magia

Code: Select all  Expand view  RUN
ohttp:SetRequestHeader( "SOAPAction" , "sendBill(cFileZip,xFileZip)" )


y me da el mismo resultado el codigo 0156, me lleva a pensar que el problema esta en la construccion del zip, aun cuando varío ese xml que esta dentro del zip, o adiciono otro archivo al zip.. siempre me da el mismo error :::

Existe algun ejemplo de como hacer esto??
Gracias por el interes prestado
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: Facturacion Electronica Peru, Metodo sendBill

Postby benjiben143 » Wed Jul 27, 2016 2:28 pm

Hola buenos dias

Registrala en modo de prueba

saludos
Benjamin Casarrubias Moreno
Cd. Obregon, Sonora, Mexico
chino72vale@hotmail.com
Fivewin 16.05, Harbour 3.2, xharbour 1.2.1, Fivelinux, visual estudio 2013
benjiben143
 
Posts: 116
Joined: Wed Mar 11, 2009 7:32 pm
Location: Obregon, Sonora, Mexico

Re: Facturacion Electronica Peru, Metodo sendBill

Postby LuisPonce » Thu Jul 28, 2016 6:02 am

Hola Benjamin

Hice lo mismo en modo a prueba de fallos

regsvr32 ClassLibrary2.dll

con el mismo resultado

"Se cargo el modulo ClassLibrary2.dll, pero no se encontro el punto de entrada DllRegistrerServer Asegurese que ClassLibrary2.dll es un archivo DLL u OCX valido e intentelo de nuevo"
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: Facturacion Electronica Peru, Metodo sendBill

Postby benjiben143 » Thu Jul 28, 2016 3:40 pm

Hola
buenos dias

en esta liga esta con lo que la registro


www.eleben.com.mx\regis.zip

ejecutar

r classlibrary2

en modo de prueba
saludos
Benjamin Casarrubias Moreno
Cd. Obregon, Sonora, Mexico
chino72vale@hotmail.com
Fivewin 16.05, Harbour 3.2, xharbour 1.2.1, Fivelinux, visual estudio 2013
benjiben143
 
Posts: 116
Joined: Wed Mar 11, 2009 7:32 pm
Location: Obregon, Sonora, Mexico

Re: Facturacion Electronica Peru, Metodo sendBill

Postby LuisPonce » Thu Jul 28, 2016 6:39 pm

Buenos Dias Benjamin

bajé el archivo y ejecuté r

r ClassLibrary2

me dió esta respuesta en modo a prueba de fallos y normal

RegAsm : Warning RA0000 : El registro de un ensamblado sin signo puede provocar que dicho ensamblado interfiera con otras aplicaciones en el mismo equipo. El modificador /codebase solo se utiliza con signos. Proporcione al ensamblado un nombre seguro y vuelva a registrarlo.
Se registraron correctamente los tipos
El exportador de la biblioteca de tipos detecto una advertencia al procesar "ClassLibrary2.ServiceReference1.billServiceClient, ClassLibrary2". Advertencia: El exportador de la biblioteca de tipos detecto un tipo que deriva de una clase generica y que no esta marcado como [ClassInterface(ClassInterfaceType.None)]. Las interfaces de clase no se pueden exponer para estos tipos. Marque el tipo como [ClassInterface(ClassInterfaceType.None)] y exponer la interfaz cmo la predeterminada para COM con el atributo CodDefaultInterface.
El exportador de la biblioteca de tipos detecto una advertencia al procesar "ClassLibrary2.ServiceReference2.Service1SoapClient, ClassLibrary2". Advertencia: El exportador de la biblioteca de tipos detecto un tipo que deriva de una clase generica y que no esta marcado como [ClassInterface(ClassInterfaceType.None)]. Las interfaces de clase no se pueden exponer para estos tipos. Marque el tipo como [ClassInterface(ClassInterfaceType.None)] y exponer la interfaz como la predeterminada para COM con el atributo CodDefaultInterface.
La Exportacion del ensamblado a "C:\REGIS\ClassLibrary2.tbl" y el registro de la biblioteca de tipos se ralizaron correctamente
Presione una tecla para continuar........

Luego ejecuto el ejemplo que me pasaste:

Code: Select all  Expand view  RUN
#include "FiveWin.ch"


function Main()

   local oEleben, o

   TRY
      oEleben := CreateObject( "Classlibrary2.class1" )
     
     
     MSGALERT( "entro ")
   
   CATCH
      MSGALERT( "Na nai")
     
   END
   
   o:=oeleben:StreamFile("abrir.zip")   // lo convierte a arreglo de bytes
 
 
   
 Return nil
 


y me da el mensaje "Na nai"


con este mensaje

Application
===========
Path and name: C:\FWVENTAS\FW-VT2.exe (32 bits)
Size: 5,371,904 bytes
Time from start: 0 hours 0 mins 15 secs
Error occurred at: 28/07/2016, 13:42:50
Error description: Error BASE/1004 Class: 'NIL' has no exported method: STREAMFILE
Args:
[ 1] = U
[ 2] = C abrir.ZIP

Stack Calls
===========
Called from: => STREAMFILE(0)
Called from: vt20199.prg => FILE2AB(18626)
Called from: fw-vt2.prg => (b)BUILDMENU(1050)
Called from: MENU.PRG => TMENU:COMMAND(0)
Called from: WINDOW.PRG => TWINDOW:COMMAND(0)
Called from: MDIFRAME.PRG => TMDIFRAME:COMMAND(0)
Called from: => TMDIFRAME:HANDLEEVENT(0)
Called from: WINDOW.PRG => _FWH(0)
Called from: => WINRUN(0)
Called from: WINDOW.PRG => TMDIFRAME:ACTIVATE(0)
Called from: fw-vt2.prg => MAIN(661)

Agradezco tu respuesta
Last edited by LuisPonce on Thu Jul 28, 2016 6:45 pm, edited 1 time in total.
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: Facturacion Electronica Peru, Metodo sendBill

Postby benjiben143 » Thu Jul 28, 2016 6:45 pm

Hola luis

con eso se instalo la dll

a hora prueba el ejemplo




saludos
Benjamin Casarrubias Moreno
Cd. Obregon, Sonora, Mexico
chino72vale@hotmail.com
Fivewin 16.05, Harbour 3.2, xharbour 1.2.1, Fivelinux, visual estudio 2013
benjiben143
 
Posts: 116
Joined: Wed Mar 11, 2009 7:32 pm
Location: Obregon, Sonora, Mexico

Re: Facturacion Electronica Peru, Metodo sendBill

Postby LuisPonce » Sun Jul 31, 2016 11:50 pm

Hola Benjiben143

Hice lo que me dijiste y..

Dio lo mismo

Gracias
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: Facturacion Electronica Peru, Metodo sendBill

Postby Enrrique Vertiz » Mon Aug 01, 2016 4:34 am

Luis Yo lo leo invocando a esta function, y ya lo regresa convertido a base64

cNewArc:=xlee(cAcrZip)

//----------------------------------- Funcion para Leer ZIP ------------------------------------//
function xlee(hsource)

local hTarget
local cBuffer := Space(4000)
local nBytes, nFile := 0, nTotal := 0
local nTotSize := 0
local nBufsize:=4000
local xfile:=""
hSource = FOpen( hsource)
while ( nBytes := FRead( hSource, @cBuffer, nBufSize ) ) > 0
xfile:=xfile+left(cbuffer,nBytes)
end
FClose( hSource )
FClose( hTarget )
xfile:=StrToBase64(xfile)
return xfile
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 541
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Facturacion Electronica Peru, Metodo sendBill

Postby LuisPonce » Tue Aug 02, 2016 4:31 am

Hola Enrrique

Al parecer habia resuelto el envio mediante SendBill, digo al parecer porque Sunat me reporta imagino el CDR en produccion, este viene de esta forma:

Code: Select all  Expand view  RUN
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:sendBillResponse xmlns:ns2="http://service.sunat.gob.pe"><applicationResponse>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</applicationResponse></ns2:sendBillResponse></S:Body></S:Envelope>


el envio lo hago a:

https://www.sunat.gob.pe/ol-ti-itcpgem-beta/billService

En teoria parece que lo conseguí, pero como traduzco esto a "legible" ??

Para hacerlo usé unas funciones de * Auteur Badara Thiam, publicadas en el Forum, StrToBase64(), y sucedio la magia, pero me retorna algo parecido que he intentado traducir con la funcion Base64ToStr() de la misma fuente, y no obtengo algo legible.

Probe hacer el envio con xLee(), que amablemente compartiste.. con similar resultado:

Code: Select all  Expand view  RUN
<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:sendBillResponse xmlns:ns2="http://service.sunat.gob.pe"><applicationResponse>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</applicationResponse></ns2:sendBillResponse></S:Body></S:Envelope>


hay una diferencia pequeña, que no he podido determinar....

Como traduces la respuesta de Sunat contenida en el TAG "applicationResponse" ???

Gracias
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: Facturacion Electronica Peru, Metodo sendBill

Postby Enrrique Vertiz » Tue Aug 02, 2016 4:59 am

Luis, lo que recibes es un archivo ZIP en Base64, hay que hacer la operación inversa y después descomprimirlo para leer el contenido.

hFile := FCreate( cResSun, FC_NORMAL )
FWrite( hFile, Base64ToStr( cTxtSun64 ) )
FClose( hFile )
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 541
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru

Re: Facturacion Electronica Peru, Metodo sendBill

Postby LuisPonce » Tue Aug 02, 2016 6:25 am

Enrrique

Asi es, lo logico es que debía hacer a la inversa, y lo intenté con:

Base64ToStr(applicationResponse)

applicationResponse=al contenido del TAG

Probare con el codigo que compartiste

cResSun = archivo resultante
cTxtSun64 = es el contenido de applicationResponse?

Gracias
Luis Ponce
User avatar
LuisPonce
 
Posts: 195
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 48 guests