Ver Mensaje Individual
  #4  
Antiguo 12-10-2018
gguerrini gguerrini is offline
Miembro
 
Registrado: feb 2006
Ubicación: Cordoba , Argentina
Posts: 14
Reputación: 0
gguerrini Va por buen camino
Un poco mas de Informacion

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;
   
  // Crear la estructura de respuesta
  FResp := TStringStream.Create('');
   
    // Tratar los parámetros
     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);
   
      // Enviar a un archivo el ERROR
   
      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>&lt;![CDATA[[Número de Transacción: 31863278]. Tipo: 
  AUTENTICACION. Reportar  al Sector Seguridad.]]/&gt;</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.

Última edición por dec fecha: 03-05-2019 a las 09:53:04. Razón: Poner etiqueta CODE
Responder Con Cita