Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package nfe;
2
 
3
import java.rmi.RemoteException;
4
 
5
import javax.xml.bind.JAXBException;
6
import javax.xml.stream.XMLStreamException;
7
 
8
import org.apache.axiom.om.OMElement;
9
import org.apache.axiom.om.util.AXIOMUtil;
10
import org.apache.axis2.transport.http.HTTPConstants;
11
 
12
import br.inf.portalfiscal.nfe.schema.consCad.TConsCad;
13
import br.inf.portalfiscal.nfe.schema.consCad.TUfCons;
14
import br.inf.portalfiscal.nfe.schema.retConsCad.TRetConsCad;
15
import br.inf.portalfiscal.www.nfe_400.wsdl.CadConsultaCadastro.CadConsultaCadastro4Stub;
16
import nfe.dom.ConfiguracoesIniciaisNfe;
17
import nfe.exception.NfeException;
18
import nfe.util.CertificadoUtil;
19
import nfe.util.ObjetoUtil;
20
import nfe.util.WebServiceUtil;
21
import nfe.util.XmlUtil;
22
 
23
/**
24
 * Classe responsavel por Consultar a SituaƧao do XML na SEFAZ.
25
 *
26
 * @author Samuel Oliveira - samuk.exe@hotmail.com - www.samuelweb.com.br
27
 */
28
 
29
class ConsultaCadastro {
30
 
31
    static final String CNPJ = "CNPJ";
32
    static final String CPF = "CPF";
33
 
34
    /**
35
     * Classe Reponsavel Por Consultar o status da NFE na SEFAZ
36
     *
37
     * @param consCad
38
     * @param valida
39
     * @return
40
     * @throws NfeException
41
     */
42
 
43
    static TRetConsCad consultaCadastro(String tipo, String cnpjCpf) throws NfeException {
44
 
45
        try {
46
 
47
            ConfiguracoesIniciaisNfe config = CertificadoUtil.iniciaConfiguracoes();
48
 
49
            TConsCad consCad = new TConsCad();
50
            consCad.setVersao("2.00");
51
 
52
            TConsCad.InfCons infCons = new TConsCad.InfCons();
53
            if (CNPJ.equals(tipo)) {
54
                infCons.setCNPJ(cnpjCpf);
55
            } else {
56
                infCons.setCPF(cnpjCpf);
57
            }
58
            infCons.setXServ("CONS-CAD");
59
            infCons.setUF(TUfCons.valueOf(config.getEstado().toString()));
60
 
61
            consCad.setInfCons(infCons);
62
 
63
            String xml = XmlUtil.objectToXml(consCad);
64
 
65
            if (config.isLog()) {
66
                System.out.println("Xml Consulta: " + xml);
67
            }
68
            OMElement ome = AXIOMUtil.stringToOM(xml);
69
 
70
            CadConsultaCadastro4Stub.NfeDadosMsg dadosMsg = new CadConsultaCadastro4Stub.NfeDadosMsg();
71
            dadosMsg.setExtraElement(ome);
72
 
73
            CadConsultaCadastro4Stub stub = new CadConsultaCadastro4Stub(WebServiceUtil.getUrlConsultaCadastro(consCad.getInfCons().getUF().toString()));
74
 
75
            //Timeout
76
            if (!ObjetoUtil.isEmpty(config.getTimeout())) {
77
                stub._getServiceClient().getOptions().setProperty(
78
                        HTTPConstants.SO_TIMEOUT, config.getTimeout());
79
                stub._getServiceClient().getOptions().setProperty(
80
                        HTTPConstants.CONNECTION_TIMEOUT, config.getTimeout());
81
            }
82
 
83
            CadConsultaCadastro4Stub.NfeResultMsg result = stub.consultaCadastro(dadosMsg);
84
 
85
            return XmlUtil.xmlToObject(result.getExtraElement().toString(), TRetConsCad.class);
86
 
87
        } catch (RemoteException | XMLStreamException | JAXBException e) {
88
            throw new NfeException(e.getMessage());
89
        }
90
 
91
    }
92
 
93
}