Hola Muy Buenas, desde ya muchas gracias, por prestarle atención a esta consulta, es muy local de argentina en especial de buenos aires, pero es la tarea que me toca. Les voy a pasar un poco más las especificaciones que manda ARBA.
ENTRADA: La aplicación cliente deberá hacer requerimiento https al servicio
https://dfe.arba.gob.ar/DomicilioEle...cioConsulta.do
enviando un formulario multipart por método POST con los siguientes atributos:
user
password
file(xml con los datos a consultar)
SALIDA: El servicio devuelve las alícuotas y grupos correspondientes a determinado periodo para el CUIT solicitado.
Si ocurre un error en la comunicación o el archivo no puede ser procesado correctamente, se retorna un XML de error con mensaje descriptivo
CONSIDERACIONES
Entrada:
Diseño del archivo de consulta de alícuota (Formato XML)
Nombre del archivo: DFEServicioConsulta + ‘_’ + codigohash.xml
(el código Hash se genera sobre el archivo a enviar, en base al algoritmo MD5)
Formato de archivo de entrada:
Código:
<CONSULTA-ALICUOTA>
<fechaDesde> </fechaDesde>
<fechaHasta> </fechaHasta>
<cantidadContribuyentes></cantidadContribuyentes>
<contribuyentes class= “list”>
<contribuyente>
<cuitContribuyente></ cuitContribuyente>
</contribuyente>
</contribuyentes>
</CONSULTA-ALICUOTA>
El código es parecido al que mande antes, pero me di cuenta por el log que grabe que no enviaba el archivo, lo corregí un poquito pero la misma respuesta
Código Delphi
[-]
procedure Tu_principal.BitBtn1Click(Sender: TObject);
var
FResponse: string;
Str, sURL:String;
DATOS : TidMultiPartFormDataStream;
Archi : TextFile;
begin
idLogFile1.Active := True;
FResp := TStringStream.Create('');
sURL := Trim(edURL.Text);
DATOS := TidMultiPartFormDataStream.Create;
DATOS.AddFormField('user', edUsuario.Text);
DATOS.AddFormField('password', edPassword.Text);
if chArchivo.Checked then
begin
DATOS.AddFile('file', edFile.Text,'text/xml');
DATOS.AddFormField('file',edFile.Text , 'text/xml');
end;
mDatos.Lines.Clear;
try
Fhttp.Post(sURL , DATOS , FResp);
if SaveDialog1.Execute then
begin
AssignFile( Archi , savedialog1.FileName);
Rewrite(Archi);
Write(Archi , FResp.DataString);
CloseFile(Archi);
end;
mDatos.Text := FResp.DataString;
except
on E:Exception do begin
MessageDlg(E.Message, mtWarning, [mbOK], 0);
end;
end;
DATOS.Free;
FResp.Free;
Fhttp.Free;
end;
Cuando lo ejecuto me devuelve un error que esta el la tabla de especificaciones, como error inesperado, les dejo el LOG que hace toda la transacción
Código:
Stat Connected.
Sent 05/10/2018 09:25:33: POST /DomicilioElectronico/SeguridadCliente/dfeServicio
Consulta.do HTTP/1.0<EOL>Connection: keep-alive<EOL>Content-Type:
multipart/form-data; boundary=--------100518092533050<EOL>Content-Length:
1142<EOL>Host: dfe.arba.gov.ar<EOL>Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<EOL>User-Agent:
Mozilla/3.0 (compatible; Indy Library)<EOL><EOL>
Sent 05/10/2018 09:25:33: ----------100518092533050<EOL>Content-Disposition:
form-data; name="user"<EOL>Content-Type:
text/plain<EOL>Content-Transfer-Encoding:
quoted-printable<EOL><EOL>%%%%%%%%%%%<EOL>----------100518092533050<EOL>Content-Disposition:
form-data; name="password"<EOL>Content-Type:
text/plain<EOL>Content-Transfer-Encoding:
quoted-printable<EOL><EOL>%%%%%%%%<EOL>----------100518092533050<EOL>Content-Disposition:
form-data; name="file"; filename="DFEServicioConsulta_F62D483C3258EAAE8FF9A375C94E77AC.xml"<EOL>Content-Type:
text/xml; charset="us-ascii"<EOL>Content-Transfer-Encoding:
binary<EOL><EOL><?xml version="1.0" encoding="UTF-8"?><CONSULTA-ALICUOTA><EOL>
<fechaDesde>20181001</fechaDesde><EOL> <fechaHasta>20181031</fechaHasta><EOL>
<cantidadContribuyentes>1</cantidadContribuyentes><EOL> <contribuyentes class="list"><EOL>
<contribuyente><EOL>
<cuitContribuyente>%%%%%%%%%%%</cuitContribuyente><EOL>
</contribuyente><EOL> </contibuyentes><EOL></CONSULTA-ALICUOTA><EOL>----------100518092533050<EOL>Content-Disposition:
form-data; name="file"<EOL>Content-Type:
text/plain; charset="text/xml"<EOL>Content-Transfer-Encoding:
quoted-printable<EOL><EOL>DFEServicioConsulta_F62D483C3258EAAE8FF9A375C94E77AC.xml<EOL>----------100518092533050--<EOL>
Recv 05/10/2018 09:25:34: HTTP/1.0 200 OK<EOL>X-Powered-By:
Servlet/3.0<EOL>Content-Type:
text/xml;charset=ISO-8859-1<EOL>Content-Disposition:
attachment; filename="DFERespuesta.xml"<EOL>Content-Language: en-US<EOL>Set-Cookie:
JSESSIONID=0000gIWrdPjRAWPrCHcObsk2u5u:-1; Path=/; HttpOnly<EOL>Date: Fri, 05 Oct 2018 12:25:33 GMT<EOL>Expires:
Thu, 01 Dec 1994 16:00:00 GMT<EOL>Cache-Control:
no-cache="set-cookie, set-cookie2"<EOL><EOL><?xml version='1.0'
encoding='ISO-8859-1'?><DFEError><LF> <tipoError>ERROR INESPERADO
</tipoError><LF>
<codigoError>01</codigoError><LF>
<mensajeError><![CDATA[[Número de Transacción: 31863278]. Tipo:
AUTENTICACION. Reportar al Sector Seguridad.]]/></mensajeError><LF></DFEError>
Stat Disconnected.
Stat Disconnected.
Stat Disconnected.
isconnected.
Stat Disconnected.
Bueno hasta acá llegamos, de acá en mas es solo llanto, jajajaja, desde ya cualquier ayuda será muy bien bienvenida. Muchas Gracias.