Ver Mensaje Individual
  #448  
Antiguo 30-03-2021
Pau Haro Pau Haro is offline
Miembro
 
Registrado: mar 2021
Posts: 13
Reputación: 0
Pau Haro Va por buen camino
Problemas con el envio TicketBAI para Bizkaia

Buenas,

Tengo solucionado el tema del TicketBAI para Guipuzkoa y Alava, ahora estoy enfocado en el envió de TicketBAI para Bizkaia. Asi pues, genero el TicketBAI tal y como haria en Gipuzkoa o Alava, convierto el documento en Base64, creo el XML con el TicketBAI codificado en Base64 en su interior y lo comprimo con GZIP. Una vez con el GZIP, creo la peticion que contendra este GZIP en su cuerpo. El problema lo tengo al enviar y recibir la respuesta, asi pues me esta dando "404 - Bad Request". Os dejo mi codigo en Java, para que podais ver lo que estoy haciendo para crear la peticion, tengo el certificado de Bizkaia en mi JKS y estoy enviando con SSL usando un certificado (.pfx):

Código:
                
                String jsonHeader = "{\"con\": \"LROE\",\"apa\": \"1.1\",\"inte\": {\"nif\": \"" + nif + "\",\"nrs\": \"" + nrs + "\"},\"drs\": {\"mode\": \"240\",\"ejer\": \"" + ejer + "\"}}";
                
                System.out.println("eus-bizkaia-n3-data -> " + jsonHeader);
                   
                con.setRequestProperty("Accept-Encoding", "gzip");     
                con.setRequestProperty("Content-Encoding", "gzip");      
                con.setRequestProperty("Content-Length ",String.valueOf(comprimitBizkaia.length()));
                con.setRequestProperty("Content-Type", "application/octet-stream");        
                con.setRequestProperty("eus-bizkaia-n3-version", "1.0");
                con.setRequestProperty("eus-bizkaia-n3-content-type", "application/xml");
                con.setRequestProperty("eus-bizkaia-n3-data", jsonHeader);
                con.setRequestProperty("Method", "POST");
                
                OutputStream os = con.getOutputStream();
                os.write(Files.readAllBytes(comprimitBizkaia.toPath()));
                os.flush();
                
                con.connect();
            
                //Rebre resposta servidor de Bizkaia
                StringBuilder sb = new StringBuilder();  
                int HttpResult = con.getResponseCode();
                
                if(HttpResult == HttpsURLConnection.HTTP_OK){                    
                    InputStream gzipStream = new GZIPInputStream(con.getInputStream());
                    Reader decoder = new InputStreamReader(gzipStream, "utf-8");
                    BufferedReader buffered = new BufferedReader(decoder);
            
                    String line = null;
                    while ((line = buffered.readLine()) != null) {  
                        sb.append(line + "\n");  
                    }
                     buffered.close(); 
                     sResposta = sb.toString();
                     System.out.println("Resposta -> "+sb.toString());  
            
                }else{
                    System.out.println(con.getResponseCode());
                    System.out.println(con.getResponseMessage());
                }  
                }catch (IOException | KeyStoreException | NoSuchAlgorithmException | KeyManagementException | CertificateException | UnrecoverableKeyException e) {
                //}catch (IOException e) {
                    System.err.println("HA DADO UNA EXCEPCION");
                    System.err.println(e);
                }
Muchas gracias.
Responder Con Cita