Nfe - Nota Fiscal Eletronica

cara… deu certo o caminho da dll
e muito obrigado por ter ajudado :wink:

blz, cara,

Qualquer coisa, posta ai…

Abraço.

olá!

estou com problemas para autorizar notas na sefaz do PR.

recebo o erro 215 - Falha no schema xml.

pesquisando por este erro achei dicas aqui no forum, mais específico o código do amigo evandromib.

estou tentando usar o código mas estou recebendo o erro:

java.lang.UnsupportedOperationException: Cannot create XMLStreamReader or XMLEventReader from a javax.xml.transform.dom.DOMSource at com.sun.xml.internal.stream.XMLInputFactoryImpl.jaxpSourcetoXMLInputSource(XMLInputFactoryImpl.java:302) at com.sun.xml.internal.stream.XMLInputFactoryImpl.createXMLStreamReader(XMLInputFactoryImpl.java:145)

este erro está na linha XMLStreamReader streamDados = XMLInputFactory.newInstance().createXMLStreamReader(source);:

[code]DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(false);

    DocumentBuilderFactory bf = DocumentBuilderFactory.newInstance();
    Document docDados = bf.newDocumentBuilder().parse(
            new InputSource(new StringReader(_nfeDadosMsg)));

    Source source = new DOMSource(docDados);

    XMLStreamReader streamDados = XMLInputFactory.newInstance().createXMLStreamReader(source);
    NfeRecepcao2Stub.NfeDadosMsg dadosMsg = NfeRecepcao2Stub.NfeDadosMsg.Factory.parse(streamDados);
    
    NfeRecepcao2Stub.NfeCabecMsg cabecMsg = new NfeRecepcao2Stub.NfeCabecMsg();
    cabecMsg.setCUF(COD_UF);
    cabecMsg.setVersaoDados(_versaoDados);

    NfeRecepcao2Stub.NfeCabecMsgE cabecMsgE = new NfeRecepcao2Stub.NfeCabecMsgE();
    cabecMsgE.setNfeCabecMsg(cabecMsg);

    NfeRecepcao2Stub stub = new NfeRecepcao2Stub();

    return stub.nfeRecepcaoLote2(dadosMsg, cabecMsgE).getExtraElement().toString();[/code]

importei as bibliotecas do Axis2-1.5.2.

alguém sabe o que pode ser?

Obrigado!

Uma maneira um pouco diferente de resolver o problema com a linha
xmlInputFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.FALSE);

try {
					
			String nfeDadosMsg = "XML da NFe";
			
			XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();	
			
			//Propriedade utilizada para manter o namespace <NFe xmlns="www.portalfiscal.inf.br/nfe" > 
			xmlInputFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.FALSE);
			
			XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(new StringReader(nfeDadosMsg));
				
			NfeRecepcao2Stub.NfeDadosMsg dadosMsg = NfeRecepcao2Stub.NfeDadosMsg.Factory.parse(xmlStreamReader);
			NfeRecepcao2Stub stub = new NfeRecepcao2Stub(url);					
												
			NfeRecepcao2Stub.NfeRecepcaoLote2Result result = stub.nfeRecepcaoLote2(dadosMsg, nfeCabecMsgE);
			String retorno = result.getExtraElement().toString();
			
		}catch (FactoryConfigurationError e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}	

Testes feitos e retorno status 100 - Autorizado o uso da NF-e

Abraços

legal!

bem simples e funcionou!

vlw

E ai galera blz
Bom sei o q assunto nao tem mto a haver com o Assunto do Forum ,mais pesquisei e não estou encontrando mta informação a respeito e creio que a maioria aqui utiliza o IREPORT para gerar a Danfe e um XML com base para o relatorio minha duvida é o seguinte

fugindo um pouco da danfe , eu tenho outros relatorios que são gerados no msm padrao da DANFE , qria saber se alguem sabe uma maneira de deixar a geraçao do relatorio mais rapida, tendo em vista que meu xml possui mais de 10000 registros

Ex:

<det nItem='1' >
<registros>
<codPrk>002102</codPrk>
<descPrk>FITA ACO 0.2X115MM 1075 TEMP/REV DUR.</descPrk>
<unidPrk>KG</unidPrk>
<estqAtualPrk>17.00000</estqAtualPrk>
<valunit>7.46200</valunit>
<valTot>126.85</valTot>
<denComplPrk>540/580HV</denComplPrk>
</registros>
</det>
<det nItem='2' >
<registros>
<codPrk>002103</codPrk>
<descPrk>FITA ACO 0.2X150MM 1075 TEMP/REV DUR.</descPrk>
<unidPrk>KG</unidPrk>
<estqAtualPrk>40.00000</estqAtualPrk>
<valunit>14.92400</valunit>
<valTot>596.96</valTot>
<denComplPrk>540/580HV</denComplPrk>
</registros>
</det>

ja fiz algumas mudanças referentes a utilização do hashmap() , consegui baixar o tempo do processamento mais ainda esta mto alto
se alguem souber de alguma dica que posso aplicar será de bom proveito blz
vlw

Olá evandromib…

Cara, seguinte, eu aqui tenho um relatorio de notas que já ta batendo as 20000, e pra resolver o problema eu criei uma view, e quando preciso fazer a consulta, já faço direto na view, no meu caso ajudou e muito.

Abraço e espero ter ajudado.

[quote=evandromib]E ai galera blz
Bom sei o q assunto nao tem mto a haver com o Assunto do Forum ,mais pesquisei e não estou encontrando mta informação a respeito e creio que a maioria aqui utiliza o IREPORT para gerar a Danfe e um XML com base para o relatorio minha duvida é o seguinte

fugindo um pouco da danfe , eu tenho outros relatorios que são gerados no msm padrao da DANFE , qria saber se alguem sabe uma maneira de deixar a geraçao do relatorio mais rapida, tendo em vista que meu xml possui mais de 10000 registros

Ex:

<det nItem='1' >
<registros>
<codPrk>002102</codPrk>
<descPrk>FITA ACO 0.2X115MM 1075 TEMP/REV DUR.</descPrk>
<unidPrk>KG</unidPrk>
<estqAtualPrk>17.00000</estqAtualPrk>
<valunit>7.46200</valunit>
<valTot>126.85</valTot>
<denComplPrk>540/580HV</denComplPrk>
</registros>
</det>
<det nItem='2' >
<registros>
<codPrk>002103</codPrk>
<descPrk>FITA ACO 0.2X150MM 1075 TEMP/REV DUR.</descPrk>
<unidPrk>KG</unidPrk>
<estqAtualPrk>40.00000</estqAtualPrk>
<valunit>14.92400</valunit>
<valTot>596.96</valTot>
<denComplPrk>540/580HV</denComplPrk>
</registros>
</det>

ja fiz algumas mudanças referentes a utilização do hashmap() , consegui baixar o tempo do processamento mais ainda esta mto alto
se alguem souber de alguma dica que posso aplicar será de bom proveito blz
vlw[/quote]

Bom dia,

Não sou muito fã do IReporter e utilizo o JFreeReporter, mas independente disto acredito que o problema de performance esta ligado ao algoritmo de carrgamento do XML com tanto registros, afinal isto tem um consumo de memoria e de recursos considerável e pode ser muito maior dependendo de como vc trabalha…

No meu caso eu não tenho nenhum problema quanto a isto… Por isto, para falar a verdade, nem entendi pq vc deseja ver 10mil registro de uma única vez… Na verdade, nem conheço nenhum estudo de caso que se aproxime disso! Se é para imprimir o 10mil registro existe uma estratégia de envio assincrono e paginado que pode ajudar a reduzir o tamanho do arquivo enviado para a impressora e ter um maior controle do que foi concluido na impressao ou não…

Fora este caso, que consome muito recurso, mas nem de longe utiliza 10mil de uma única vez, não vejo a necessidade de trabalhar com tantos registros.

Assim a única dica que posso te dar é: reveja essa necessidade. Caso ela realmente exista, então explica melhor o caso que o pessoal que entende mais de IReporter pode ajudar.

Abração e boa sorte!

Boa tarde

Mackrophus os view que vc usa é do SQL ?

AGAraujo é que esse relatorio é um inventario de produtos , tenho clientes q a base chega ter 70000 registro qdo puxa esse relatorio
na minha base estava fazendo teste com 11000 registro e tava levando certa de 45 a 50 minutos mto tempo para um relatorio
fiz algumas mudanças em relação a geração e tive um melhora significativa mais com registros até 4000 acima disso se torna mto demorado a geração , utilizei uns metodos do jasper para relatorios mto grande jrfilevirtualizer mais em performace nao mudou praticamente em nd , mais blz obrigado pela dicas ja falei aqui se quizer relatorio grafico vai ter q esperar se tiver com pressa imprime a versao TXT (sai em menos de 20 segundos rs)

Olá pessoal,
Estou enviando a nfe mas me retorna : Rejeicao: Assinatura difere do calculado
Eu noto que o xml da nfe tem uma tag e quando eu assino, o espaço some ficando assim .
Entao quando eu transformo o xml pra envio, o espaço volta e provavelmente deixa a assinatura inválida.

Meu envio:

try {		
			NfeRecepcao2Stub stubRecepcao = new NfeRecepcao2Stub();
			NfeRecepcao2Stub.NfeDadosMsg dadosRecepcao = new NfeRecepcao2Stub.NfeDadosMsg();
			
			TEnviNFe env = new TEnviNFe();   
	        env.setIdLote("39");
	        env.setVersao("2.00");
	        env.getNFe().add(nfe);
	        OMElement el = AXIOMUtil.stringToOM(enviNFeToString(env));
			el.declareNamespace("","ns2");
			el.build(); 
			dadosRecepcao.setExtraElement(el);
			NfeRecepcao2Stub.NfeCabecMsgE cabecalho = new NfeRecepcao2Stub.NfeCabecMsgE();
			cabecalho.setNfeCabecMsg(getCabecalho());
			NfeRecepcaoLote2Result r = stubRecepcao.nfeRecepcaoLote2(dadosRecepcao, cabecalho);
			TRetEnviNFe res = retEnviNFeStringToTRetEnviNFe(r.getExtraElement().toString());
			return res;
		} catch (AxisFault e) {
			throw new NfeException(e);
		} catch (RemoteException e) {
			throw new NfeException(e);
		} catch (XMLStreamException e) {
			throw new NfeException(e);
		}

e minha assinatura. (Assina uma String, não um arquivo).

try {
        	        	                      
            String tag = "";
            if (operacao.equals("1")) {
                tag = "infNFe";
            } else if (operacao.equals("2")) {
                tag = "infCanc";
            } else if (operacao.equals("3")) {
                tag = "infInut";
            }

            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            factory.setNamespaceAware(false);
            DocumentBuilder builder;
            builder = factory.newDocumentBuilder();
            
            Document docs = factory.newDocumentBuilder().parse(new ByteArrayInputStream(arquivoXML.trim().getBytes("UTF8"))); /// aqui  
            System.out.println("DOCS "+docs.getTextContent());
            NodeList elements = docs.getElementsByTagName(tag);
            Element el = (Element) elements.item(0);
            String id = el.getAttribute("Id");
            String providerName = System.getProperty(PROVIDER_NAME,
                    PROVIDER_CLASS_NAME);
            XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM", (Provider) Class.forName(providerName).newInstance());

            ArrayList transformList = new ArrayList();
            TransformParameterSpec tps = null;
            Transform envelopedTransform = fac.newTransform(Transform.ENVELOPED, tps);
            Transform c14NTransform = fac.newTransform(C14N_TRANSFORM_METHOD, tps);
            transformList.add(envelopedTransform);
            transformList.add(c14NTransform);

            Reference ref = fac.newReference("#" + id, fac.newDigestMethod(DigestMethod.SHA1, null), transformList, null, null);

            SignedInfo si = fac.newSignedInfo(fac.newCanonicalizationMethod(CanonicalizationMethod.INCLUSIVE, (C14NMethodParameterSpec) null), fac.newSignatureMethod(SignatureMethod.RSA_SHA1, null), Collections.singletonList(ref));

            KeyStore ks = KeyStore.getInstance("PKCS12");
            ks.load(new FileInputStream(arquivoCertificado), password.toCharArray());
            Enumeration aliasesEnum = ks.aliases();
            String alias = "";
            while (aliasesEnum.hasMoreElements()) {
                alias = (String) aliasesEnum.nextElement();
                if (ks.isKeyEntry(alias)) {
                    break;
                }
            }

            KeyStore.PrivateKeyEntry keyEntry = (KeyStore.PrivateKeyEntry) ks.getEntry(alias, new KeyStore.PasswordProtection(password.toCharArray()));

            X509Certificate cert = (X509Certificate) keyEntry.getCertificate();

            KeyInfoFactory kif = fac.getKeyInfoFactory();
            List x509Content = new ArrayList();
            x509Content.add(cert);
            X509Data xd = kif.newX509Data(x509Content);
            KeyInfo ki = kif.newKeyInfo(Collections.singletonList(xd));

            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            dbf.setNamespaceAware(true);
            Document doc = factory.newDocumentBuilder().parse(new ByteArrayInputStream(arquivoXML.trim().getBytes("UTF8")));           
            
            DOMSignContext dsc = new DOMSignContext(keyEntry.getPrivateKey(), doc.getDocumentElement());

            XMLSignature signature = fac.newXMLSignature(si, ki);

            signature.sign(dsc);

            
            StringWriter os = new StringWriter();  
            
            TransformerFactory tf = TransformerFactory.newInstance();
            Transformer trans = tf.newTransformer();
            System.out.println(">> "+doc.getNodeValue());
            System.out.println(">> "+new DOMSource(doc).FEATURE);
            trans.transform(new DOMSource(doc), new StreamResult(os));
            NodeList nl = doc.getElementsByTagNameNS(XMLSignature.XMLNS,"Signature");

            if (nl.getLength() == 0) {
                throw new NfeException("Não foi possível encontrar o elemente Signature");
            }

            DOMValidateContext valContext = new DOMValidateContext(
                    new X509KeySelector(ks), nl.item(0));

            XMLSignature signatures = fac.unmarshalXMLSignature(valContext);

            boolean coreValidity = signatures.validate(valContext);

            if (coreValidity == false) {
                System.err.println("Falha na Assinatura!");
            } /*else {
                System.out.println("Assinatura Correta!");
            }*/
           return os.toString();
        } catch (TransformerException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (MarshalException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (XMLSignatureException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (UnrecoverableEntryException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (CertificateException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (KeyStoreException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (NoSuchAlgorithmException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (InvalidAlgorithmParameterException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (InstantiationException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (IllegalAccessException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (ClassNotFoundException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (SAXException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (IOException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (ParserConfigurationException ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        } catch (Exception ex) {
        	ex.printStackTrace();
            throw new NfeException(ex.getMessage());
        }

Como eu posso assinar sem tirar aquele espaço na tag?

Obrigado,

Giovani

Ola evandromib

Cara, são sim, eu tenho as views prontas e ela agilizam um monte o processamento, visto que as seleções já ficam precarregadas no banco, exemplo…

Eu tenho um relatorio de vendas, onde eu tenho que fazer a busca do pedido, do cliente do pedido, do transportador e etc… antes eu fazia a seleção direto no sql do iReport, ai demorava pacas… depois de ler sobre as views começei a utilizar e meus relatorios são quase instantaneos agora…

Da uma olhada em views.

gente… estou com algumas dúvidas bem dificeis

vamos la…

consegui gerar os xmls e assinar!
certificado A3

mas… agora não sei como faz pra consumir o web service

achei aqui no forum um codigo asism

[code]
package webService;

import java.security.Security;

import br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico2.NfeStatusServico2Locator;
import br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico2.NfeStatusServico2Soap12;

public class Teste {

public static void main(String[] args)   
{   
    try {   
        System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");   
           
        System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");   
        Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());   
        
        System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");   
        System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); 
        System.setProperty("javax.net.ssl.keyStorePassword", "senha");//Aqui a senha deste certificado   

           
        System.setProperty("javax.net.ssl.trustStoreType", "JKS");   
        System.setProperty("javax.net.ssl.trustStore", "D:/VipSystem/certificados/keystore.jks");   
           
           
        NfeStatusServico2Locator locator = new NfeStatusServico2Locator();   
        NfeStatusServico2Soap12 service = locator.getNfeStatusServico2Soap12();   
           
           
    } catch (Exception e) {   
        e.printStackTrace();   
    }   
}   

}[/code]

ja gerei as classes a partir do wsdl do web Service

e o codigo acima gera o seguinte

WARN (org.apache.axis.utils.JavaUtils:1308) - Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.

procurei na internet… alguns falam algo de axis!

oque eu faço com o axis??

sistema desktop

muito obrigado

Alguem ja recebeu este erro:

O arquivo XML tem mais de 1 mb. Alguem sabe onde eu configuro o Axis2 para aumentar esse tamanho.

[quote=rafaelbtz]Alguem ja recebeu este erro:

O arquivo XML tem mais de 1 mb. Alguem sabe onde eu configuro o Axis2 para aumentar esse tamanho.[/quote]

Esqueçam minha pergunta acima, achei no manual de integração uma validação onde o arquivo pode ter no máximo 500kb

e ae gente!

vim agradecer as dicas ae do evandromib, Mackrophus e do AGAraujo sobre a questão de erros de envio de nfe para os servidores de homologacao 2.0 do Paraná.
Aqui na empresa a gente também estava com os mesmos problemas de Falha de Schema XML, e não tinhamos nem idéia no que era pq os XMLs passavam no validador do SEFAZ.

Obrigado mesmo!! As dicas de vcs funcionaram direitinho!!
Espero que outros possam ser beneficiados por esse tópico como eu fui.
Abraços a todos e mais uma vez obrigado!

[quote=emmanueldsilva]e ae gente!

vim agradecer as dicas ae do evandromib, Mackrophus e do AGAraujo sobre a questão de erros de envio de nfe para os servidores de homologacao 2.0 do Paraná.
Aqui na empresa a gente também estava com os mesmos problemas de Falha de Schema XML, e não tinhamos nem idéia no que era pq os XMLs passavam no validador do SEFAZ.

Obrigado mesmo!! As dicas de vcs funcionaram direitinho!!
Espero que outros possam ser beneficiados por esse tópico como eu fui.
Abraços a todos e mais uma vez obrigado![/quote]

e quais foram as descobertas do porque não estava dando certo??

Pessoal, estou pra lá de irritado com algumas picuinhas na validação da NFe na SEFAZ e gostaria de
trocar umas idéias com a lista.
Sei que tem gente da SEFAZ que acompanha as discussões. Minha esperança é que eles se manifestem,
pelo manos pra explicar o porque.
Passei por dois casos na SVRS, onde na tag , o meu cliente colocou assim: “uma descricao qualquer Fab:” e
em outro caso assim: “uma descricao qualquer =”.
Observem o sinal de : e = no final da descrição.
Para meu espanto, a SEFAZ retornava que a assinatura diverge do calculado!!!
Foi só tirar os : e = da descrição e reenviar que tudo passou.
Pergunto: Não temos mais liberdade de escrever o que se precisa numa NFe, emum campo teoricamente livre???
Quais outras “regras” não são permitidas nas observações?

Fico por aqui na esperança de alguém me explicar algo sensato.

Alencar

algo sensato… eles estão $%gando e andando pros desenvolvedores.

pra eles, sempre nós é que estamos errados.

gente… ja to em uma novela com esse lance de web service

to fazendo isso oh

[code]package webService;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.URL;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.Provider;
import java.security.Security;
import java.security.cert.CertificateException;
import java.util.Enumeration;

import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPConstants;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;

/**
*

  • @author diego
    */
    public class Teste {

    public static void main(String[] args) throws KeyStoreException, NoSuchAlgorithmException, CertificateException {
    StringBuffer soapMessage = new StringBuffer();
    soapMessage.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>")
    .append("<soap12:Envelope xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:soap12=“http://www.w3.org/2003/05/soap-envelope">")
    .append(“soap12:Header”)
    .append(”<nfeCabecMsg xmlns=“http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">")
    .append(“1.07”)
    .append(“35”)
    .append(”")
    .append("</soap12:Header>")
    .append(“soap12:Body”)
    .append("<nfeStatusServicoNF2 xmlns=“http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">")
    .append(”<nfeDadosMsg xmlns=“http://www.portalfiscal.inf.br/nfe">")
    .append(”<consStatServ versao=“1.07” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://www.portalfiscal.inf.br/nfe” xmlns=“http://www.portalfiscal.inf.br/nfe">")
    .append(“1.07”)
    .append(“2”)
    .append(“35”)
    .append(“STATUS”)
    .append(”")
    .append("")
    .append("")
    .append("</soap12:Body>")
    .append("</soap12:Envelope>");

              metodo2(soapMessage.toString(), "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx");   
          }   
    
           public static void metodo2(String envelope, String urlAddress) {   
    
              try {   
                  MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);   
                  SOAPMessage message;   
    
                  try {     
                  		  
                          Provider p = new sun.security.pkcs11.SunPKCS11("certificados/token.cfg"); // exemplo "C:\\NFE\\token.cfg"   
                    
                          try {   
                              Security.addProvider(p);   
                              
                              char[] pin = "senha".toCharArray();// senha do certificado a3   
                              
                              Security.getProviders();   
                              KeyStore keyStore = KeyStore.getInstance("PKCS11", p);   
                              keyStore.load(null, pin);   
                        
                              System.out.println("KeyStore: " + keyStore + " - ");   
                              Enumeration aliasesEnum = keyStore.aliases();   
                              String alias = "";   
                        
                              while (aliasesEnum.hasMoreElements()) {   
                                  alias = (String) aliasesEnum.nextElement();   
                        
                                  if (keyStore.isKeyEntry(alias)) {   
                                      System.out.println("Alias Cert: " + alias);   
                                      break;   
                                  }   
                              }   
                          
                          System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");   
                          Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());   
                          
                          System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");   
                          System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); 
                          System.setProperty("javax.net.ssl.keyStorePassword", "senha");//Aqui a senha deste certificado   
    
                             
                          System.setProperty("javax.net.ssl.trustStoreType", "JKS");   
                          System.setProperty("javax.net.ssl.trustStore", "D:/VipSystem/certificados/keystore.jks"); 
                          System.setProperty("javax.net.ssl.trustStorePassword", "123456"); 
    
    
                          MimeHeaders header = new MimeHeaders();   
                          header.addHeader("Content-Type", "application/soap+xml");   
    
                          message = factory.createMessage(header, new ByteArrayInputStream(envelope.getBytes()));   
                          SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection();   
    
                          URL url = new URL(urlAddress);   
                          System.out.println("Message enviada \n"+message.toString());   
                          SOAPMessage res = con.call(message, url);   
    
                          ByteArrayOutputStream in = new ByteArrayOutputStream();   
                          message.writeTo(in);   
                          System.out.println("in :\n"+in.toString());   
    
                          ByteArrayOutputStream out = new ByteArrayOutputStream();   
                          res.writeTo(out);   
                          System.out.println("out :\n"+desnormalizar(out.toString()));   
                          } catch (Exception e) {   
                              e.printStackTrace();   
                              try {
      							throw new KeyStoreException("Não foi possivel inicializar a API Sun PKCS#11 security. Motivo: " + e.getCause().getMessage());
      						} catch (KeyStoreException e1) {
      							// TODO Auto-generated catch block
      							e1.printStackTrace();
      						}   
                          }   
                    
                          
    
                  } finally {   
                  }   
              } catch (SOAPException ex) {   
                  System.out.println("" + ex.getMessage());   
              }   
          }   
    
    
      public static String desnormalizar(String texto) {   
          return texto.replace("<", "<").replace(">", ">").replace("''", "\"").replace(" ", "\r");   
      }   
    

} [/code]

e o resultado é este

[code]Message enviada
com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl@e0a386
02/03/2011 12:31:56 com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
SEVERE: SAAJ0009: Message send failed
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source)
at webService.Teste.metodo2(Teste.java:87)
at webService.Teste.main(Teste.java:53)
Caused by: java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at java.security.AccessController.doPrivileged(Native Method)
… 3 more
Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(Unknown Source)
… 4 more
Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at javax.net.ssl.DefaultSSLSocketFactory.throwException(Unknown Source)
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.createSocket(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(Unknown Source)
… 6 more
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at java.security.Provider$Service.newInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getDefault(Unknown Source)
at javax.net.ssl.SSLSocketFactory.getDefault(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at java.net.URL.openConnection(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.createConnection(Unknown Source)
… 6 more
Caused by: java.lang.IllegalArgumentException: if keyStoreType is PKCS11, then keyStore must be NONE
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(Unknown Source)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
… 19 more

CAUSE:

java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source)
at webService.Teste.metodo2(Teste.java:87)
at webService.Teste.main(Teste.java:53)
Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(Unknown Source)
… 4 more
Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at javax.net.ssl.DefaultSSLSocketFactory.throwException(Unknown Source)
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.createSocket(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(Unknown Source)
… 6 more
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at java.security.Provider$Service.newInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getDefault(Unknown Source)
at javax.net.ssl.SSLSocketFactory.getDefault(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at java.net.URL.openConnection(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.createConnection(Unknown Source)
… 6 more
Caused by: java.lang.IllegalArgumentException: if keyStoreType is PKCS11, then keyStore must be NONE
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(Unknown Source)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
… 19 more

CAUSE:

java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source)
at webService.Teste.metodo2(Teste.java:87)
at webService.Teste.main(Teste.java:53)
Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(Unknown Source)
… 4 more
Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at javax.net.ssl.DefaultSSLSocketFactory.throwException(Unknown Source)
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.createSocket(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(Unknown Source)
… 6 more
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at java.security.Provider$Service.newInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getDefault(Unknown Source)
at javax.net.ssl.SSLSocketFactory.getDefault(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at java.net.URL.openConnection(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.createConnection(Unknown Source)
… 6 more
Caused by: java.lang.IllegalArgumentException: if keyStoreType is PKCS11, then keyStore must be NONE
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(Unknown Source)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
… 19 more
java.security.KeyStoreException: Não foi possivel inicializar a API Sun PKCS#11 security. Motivo: null
at webService.Teste.metodo2(Teste.java:99)
at webService.Teste.main(Teste.java:53)
[/code]

alguem pode me ajudar?

[quote=evandromib]Boa tarde

Mackrophus os view que vc usa é do SQL ?

AGAraujo é que esse relatorio é um inventario de produtos , tenho clientes q a base chega ter 70000 registro qdo puxa esse relatorio
na minha base estava fazendo teste com 11000 registro e tava levando certa de 45 a 50 minutos mto tempo para um relatorio
fiz algumas mudanças em relação a geração e tive um melhora significativa mais com registros até 4000 acima disso se torna mto demorado a geração , utilizei uns metodos do jasper para relatorios mto grande jrfilevirtualizer mais em performace nao mudou praticamente em nd , mais blz obrigado pela dicas ja falei aqui se quizer relatorio grafico vai ter q esperar se tiver com pressa imprime a versao TXT (sai em menos de 20 segundos rs)
[/quote]

Bom dia!!!

Ok! Entendido…

Como eu disse, sobre o Jasper, fico quietinho só lendo!

Até a próxima!