Search in sources :

Example 1 with LoginCms

use of afip.wsaa.wsdl.LoginCms in project sic by belluccifranco.

the class AfipServiceImpl method getAfipWSAACredencial.

@Override
public AfipWSAACredencial getAfipWSAACredencial(String afipNombreServicio, Empresa empresa) {
    AfipWSAACredencial afipCredencial = new AfipWSAACredencial();
    String loginTicketResponse = "";
    byte[] p12file = configuracionDelSistemaService.getConfiguracionDelSistemaPorEmpresa(empresa).getCertificadoAfip();
    if (p12file.length == 0) {
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_cds_certificado_vacio"));
    }
    String p12signer = configuracionDelSistemaService.getConfiguracionDelSistemaPorEmpresa(empresa).getFirmanteCertificadoAfip();
    String p12pass = configuracionDelSistemaService.getConfiguracionDelSistemaPorEmpresa(empresa).getPasswordCertificadoAfip();
    //siempre devuelve por 12hs
    long ticketTime = 3600000L;
    byte[] loginTicketRequest_xml_cms = afipWebServiceSOAPClient.crearCMS(p12file, p12pass, p12signer, afipNombreServicio, ticketTime);
    LoginCms loginCms = new LoginCms();
    loginCms.setIn0(Base64.getEncoder().encodeToString(loginTicketRequest_xml_cms));
    try {
        loginTicketResponse = afipWebServiceSOAPClient.loginCMS(loginCms);
    } catch (WebServiceClientException ex) {
        LOGGER.error(ex.getMessage());
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_token_wsaa_error"));
    }
    try {
        Reader tokenReader = new StringReader(loginTicketResponse);
        Document tokenDoc = new SAXReader(false).read(tokenReader);
        afipCredencial.setToken(tokenDoc.valueOf("/loginTicketResponse/credentials/token"));
        afipCredencial.setSign(tokenDoc.valueOf("/loginTicketResponse/credentials/sign"));
        afipCredencial.setCuit(empresa.getCuip());
    } catch (DocumentException ex) {
        LOGGER.error(ex.getMessage());
        throw new BusinessServiceException(ResourceBundle.getBundle("Mensajes").getString("mensaje_error_procesando_xml"));
    }
    return afipCredencial;
}
Also used : AfipWSAACredencial(sic.modelo.AfipWSAACredencial) BusinessServiceException(sic.service.BusinessServiceException) WebServiceClientException(org.springframework.ws.client.WebServiceClientException) SAXReader(org.dom4j.io.SAXReader) DocumentException(org.dom4j.DocumentException) StringReader(java.io.StringReader) SAXReader(org.dom4j.io.SAXReader) Reader(java.io.Reader) StringReader(java.io.StringReader) LoginCms(afip.wsaa.wsdl.LoginCms) Document(org.dom4j.Document)

Aggregations

LoginCms (afip.wsaa.wsdl.LoginCms)1 Reader (java.io.Reader)1 StringReader (java.io.StringReader)1 Document (org.dom4j.Document)1 DocumentException (org.dom4j.DocumentException)1 SAXReader (org.dom4j.io.SAXReader)1 WebServiceClientException (org.springframework.ws.client.WebServiceClientException)1 AfipWSAACredencial (sic.modelo.AfipWSAACredencial)1 BusinessServiceException (sic.service.BusinessServiceException)1