Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 23-07-2021
JoseLeeTo JoseLeeTo is offline
Miembro
 
Registrado: jun 2021
Posts: 69
Poder: 3
JoseLeeTo Va por buen camino
Cita:
Empezado por unomasmas Ver Mensaje
Tengo problemas para subir el fichero de alta TicketBAI al entorno de pruebas de Gipuzkoa. No entiendo muy bien qué está ocurriendo. Estoy haciendo el script en C#. En los diferentes métodos que he empleado me ocurren dos tipos de problema:

[Problema 1:]
Código:
        <ResultadosValidacion>
            <Codigo>002</Codigo>
            <Descripcion>Error: El fichero de alta TicketBAI no cumple el esquema XSD. No se ha podido procesar el mensaje. Detalle del error: Content is not allowed in prolog.</Descripcion>
            <Azalpena>Errorea: TicketBAI altako fitxategiak ez du betetzen XSD eskema. Mezua ezin da prozesatu. Errorearen xehetasuna: Content is not allowed in prolog.</Azalpena>
        </ResultadosValidacion>
Este es el código utilizado:
Código:
            string urlconexion = "h t t p s://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta";
            string file = @"D:\Datos_Desarrollo\tBAI\6936.XSIG";
            var client = new RestClient(urlconexion);
            client.ClientCertificates = new X509CertificateCollection() { certificate };
            var restrequest = new RestRequest(Method.POST);
            restrequest.AddHeader("Content-Type", "application/xml;charset=UTF-8");
            restrequest.AddFile("mifichero", file, "text/xml");
            IRestResponse response = client.Execute(restrequest);
            System.Diagnostics.Debug.WriteLine(response.Content);
RestClient y RestRequest son clases de RestSharp
IRestResponse es un contenedor de RestSharp que recoge la respuesta del servidor.
certificate es una instancia de la clase X509Certificate2 de System.Security.Cryptography.X509Certificates


[Problema 2:]
Código:
        <ResultadosValidacion>
            <Codigo>007</Codigo>
            <Descripcion>Error: Certificado remitente no válido para emisor factura.</Descripcion>
            <Azalpena>Errorea: Bidaltzailearen ziurtagiria ez da baliagarria fakturaren egilearentzat.</Azalpena>
        </ResultadosValidacion>
Este es el código utilizado:
Código:
            string urlconexion =  "h t t p s://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta";
            string file = @"D:\Datos_Desarrollo\tBAI\6936.XSIG";
            HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(urlconexion);
            wr.ContentType = "application/xml;charset=UTF-8";
            wr.Method = "POST";
            wr.ClientCertificates = new X509CertificateCollection() { certificate };
            Stream rs = wr.GetRequestStream();
            rs = wr.GetRequestStream();
            FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
            byte[] buffer = new byte[4096];
            int bytesRead = 0;
            while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
            {
                rs.Write(buffer, 0, bytesRead);
            }
            WebResponse wresp = null;
            try
            {
                wresp = wr.GetResponse();
                Stream stream2 = wresp.GetResponseStream();
                StreamReader reader2 = new StreamReader(stream2);
                System.Diagnostics.Debug.WriteLine(reader2.ReadToEnd());
            }
HttpWebRequest se incluye en System.Net
certificate es igualmente una instancia de la clase X509Certificate2 de System.Security.Cryptography.X509Certificates
Me imagino que en este segundo caso el problema puede estar en la manipulación del fichero (por haberlo subido como stream) pero no veo cómo comprobarlo. Si alguien me pudiera echar una mano se lo agradecería tanto como el tiempo que llevo tratando de encontrar una solución (un mogollón). Gracias ya por haberme leido.

Buenas. Yo también estoy con C#, aunque no utilizo RestSharp, sino HttpClient. En el caso del problema 2, tiene pinta de que el nombre del emisor de la factura, no coincide con el del certificado, y así tiene que ser.
El certificado tiene que ser el del propio obligado tributario, que tiene que coincidir con el emisor de la factura.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3565 Hace 5 Días 11:04:13
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 13:16:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi