package br.com.caelum.stella.nfe.ws.integration; import java.io.File; import java.io.StringWriter; import java.util.List; import javax.xml.XMLConstants; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBElement; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.PropertyException; import javax.xml.bind.Unmarshaller; import javax.xml.bind.ValidationEvent; import javax.xml.bind.ValidationEventHandler; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.ws.BindingProvider; import javax.xml.ws.handler.Handler; import org.w3c.dom.Node; import br.com.caelum.stella.nfe.JaxBHelper; import br.com.caelum.stella.nfe.SOAPLoggingHandler; import br.com.caelum.stella.nfe.VersaoNFE; import br.com.caelum.stella.nfe.config.NFEProperties; import br.com.caelum.stella.nfe.security.TokenAlgorithm; import br.com.caelum.stella.nfe.security.TokenKeyStoreForWindows; import br.com.caelum.stella.nfe.ws.sp.status.ConsultaStatusSaoPauloHomolog; import br.com.caelum.stella.nfe.ws.sp.status.NfeStatusServicoNF2Result; import br.com.caelum.stella.nfe.ws.sp.status.StatusServico; import br.com.caelum.stella.nfe.xsd.status.TRetConsStatServ; public class NFeStatusWSTest { private static final boolean DEBUG_ENABLE = true; private static final boolean LOG_ENABLE = true; private static String tokenConfigFile = null; private static String senhaDoCertificado = null; private static String alias = null; public static void main(String[] args) { try { NFEProperties prop = new NFEProperties(); tokenConfigFile = prop.getProperty("arquivo.config.token"); senhaDoCertificado = prop.getProperty("certificado.senha"); alias = prop.getProperty("certificado.alias"); TokenKeyStoreForWindows ks = new TokenKeyStoreForWindows(tokenConfigFile, TokenAlgorithm.PKCS11, senhaDoCertificado); ks.getCertificateFor(alias).enableSSLForServer(); StatusServico consulta = new ConsultaStatusSaoPauloHomolog(VersaoNFE.V_2_00).consulta(); System.out.println("Serviço ativo: " + consulta.isAtivo()); System.out.println(new JaxBHelper().toXML(consulta.getResponse())); } catch (Exception e) { e.printStackTrace(); } } private static void configureLoggiing(BindingProvider bp) { if (LOG_ENABLE) { List<Handler> handlerChain = bp.getBinding().getHandlerChain(); handlerChain.add(new SOAPLoggingHandler()); bp.getBinding().setHandlerChain(handlerChain); } } private static void configureDebug() { if (DEBUG_ENABLE) { System.setProperty("javax.net.debug", "all"); System.setProperty("com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump", "true"); } } }