Page 1 of 1

Problema TSmtp y comillas dobles en archivos atachados

PostPosted: Fri Dec 22, 2006 3:10 pm
by dbzap
Al parecer cuando se envia un archivo con comillas dobles en su interior, el "SendChunk" ( desde la TSocket, a su vez desde TSmtp ) falla, enviando algo incomprensible.
Y particularmente para el XML el archivo esta firmado digitalmente, por lo tanto es inservible al llegar.
Les adjunto el archivo original y el enviado.
Agradeceré cualquier ayuda.
Saludos

Parte del archivo original... ( fijarse en "1.0" y luego otras de comillas )
Code: Select all  Expand view
....
<?xml version="1.0" encoding="ISO-8859-1"?>
<EnvioDTE xmlns="http://www.sii.cl/SiiDte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://www.sii.cl/SiiDte EnvioDTE_v10.xsd">
<SetDTE ID="SetDoc">
<Caratula version="1.0">
  <RutEmisor>96544490-4</RutEmisor>
  <RutEnvia>12455078-5</RutEnvia>
  <RutReceptor>96692790-9</RutReceptor>
  <FchResol>2005-12-29</FchResol>
  <NroResol>146</NroResol>
  <TmstFirmaEnv>2006-12-13T10:29:19</TmstFirmaEnv>
  <SubTotDTE>
    <TpoDTE>33</TpoDTE>
    <NroDTE>1</NroDTE>
  </SubTotDTE>
</Caratula>
<DTE version="1.0">        <Documento ID="F12427T33">
            <Encabezado>
....   


codigo atachado resultado del envio...( aqui ya no existen las parejas de comillas )
Code: Select all  Expand view
....
<?xml version=.0" encoding=SO-8859-1"?>
<EnvioDTE xmlns=ttp://www.sii.cl/SiiDte" xmlns:xsi=ttp://www.w3.org/2001/XMLSchema-instance" version=.0" xsi:schemaLocation=ttp://www.sii.cl/SiiDte EnvioDTE_v10.xsd">
<SetDTE ID=etDoc">
<Caratula version=.0">
  <RutEmisor>96544490-4</RutEmisor>
  <RutEnvia>12455078-5</RutEnvia>
  <RutReceptor>96692790-9</RutReceptor>
  <FchResol>2005-12-29</FchResol>
  <NroResol>146</NroResol>
  <TmstFirmaEnv>2006-12-13T10:29:19</TmstFirmaEnv>
  <SubTotDTE>
    <TpoDTE>33</TpoDTE>
    <NroDTE>1</NroDTE>
  </SubTotDTE>
</Caratula>
<DTE version=.0">        <Documento ID=12427T33">
            <Encabezado>
.....

PostPosted: Sat Dec 30, 2006 10:10 am
by Antonio Linares
Julio,

Por lo visto desaparece la primera " y el siguiente caracter.

Quiza una solución rápida sería hacer:

cData = StrTran( cData, '="', '="."' )

de forma que desaparezca el ". extra y quede la " siguiente. Puedes probarlo ? gracias

PostPosted: Tue Jan 02, 2007 1:40 pm
by dbzap
Antonio.
Desafortunadamente es un documento firmado digitalmente, lo cual significa que no se puede cambiar absolutamente nada del contenido, ni siquiera un espacio.

Lo que he estado observando es que al parecer las funciones FMIMEENC() y ::SendFile() se estan comiendo parte de mi mensaje.

He intentado usar la funcion del maestro Luis Krause, pero tb marca el mismo error, asi es que presumo que esta entre estas dos funciones.

Aun estoy con el problema.

Gracias.

PostPosted: Wed Jan 03, 2007 7:05 am
by Antonio Linares
Julio,

Esto funciona bien, por lo que podemos descartar fallo en ellas:

MsgInfo( CMIMEDEC( CMIMEENC( '="test"' ) ) )

PostPosted: Wed Jan 03, 2007 11:45 am
by dbzap
Antonio.
La funcion contenida en TSMTP no es CMIMEENC,
es FMimeEnc( ::aFiles[ n ], "__temp" )
Desconozco cual es la diferencia entre ambas.
Saludos

PostPosted: Wed Jan 03, 2007 12:10 pm
by Antonio Linares
Julio,

Salvo error por mi parte (lo revisé temprano esta mañana), FMimeEnc() llama a CMIMEENC()

PostPosted: Wed Jan 03, 2007 12:35 pm
by dbzap
Lo que encuentro extraño es que envio el mismo archivo pero cambiando la extension desde XML a TXT y lo envia perfecto.
Si revisas el codigo del TSmtp veras que existe la pasada via FMimeEnc() solo cuando no es TXT, por eso tiendo a pensar que existe algo malo por esa bifurcacion.
Seguire buscando y gracias por tu ayuda.

PostPosted: Wed Jan 03, 2007 12:39 pm
by Antonio Linares
Julio,

Puesto que el XML es ascii, podríamos modificar la clase para que haga la misma bifurcación para XML y TXT.

PostPosted: Wed Jan 03, 2007 12:42 pm
by dbzap
Te suguiero algo, voy a terminar de hacer un par de cosas urgentes ( como si esta no lo fuera !! ) y probare modificando la clase y te comento que tal me fue.
Desde ya gracias por toda tu paciencia.
Saludos

Re: Problema TSmtp y comillas dobles en archivos atachados

PostPosted: Fri May 04, 2012 7:48 pm
by elmoiquique
Hola Julio

Una consulta, estoy trabajando en la firma digital, me gustaria saber como pudiste resolver el tema a travez de fivewin, y como lograste firmar digitalmeente el xml..

Desde ya gracias

Re: Problema TSmtp y comillas dobles en archivos atachados

PostPosted: Mon May 07, 2012 3:39 pm
by dbzap
Hola,
El módulo de firmado digital se fue a java y ahí no ha tenido nunca problemas
Con FW no pude así es que como la cosa había que hacerla y terminarla, se decidió por lo mas sano: Poner a trabajar a los multi-cerebrados de java en nuestra oficina ( jajaja )
Saludos

Re: Problema TSmtp y comillas dobles en archivos atachados

PostPosted: Mon May 07, 2012 8:20 pm
by elmoiquique
OK, me imagine que por ahi iba la cosa, bueno tendre que ponerme a trabajar y a entender java..
saludos