JAX WS e Nfe

6 respostas
leonardom

Oi Pessoal,

Estou precisando de uma força aqui. Já procurei no google e aqui no forum, mas ainda não consegui achar uma solução.

Estou implementando uma solução NFe usando JAX-WS. Já fiz os seguintes passos:

  1. Baixei e importei o cerficado do Sefaz SP para um keystore.
  2. Baixei os arquivos WSDL e importei usando wsimport.

O meu cliente usa um certificado A3, mas até ai tudo bem, eu estou conseguindo acessar via SunMSCAPI.

Quando tento acessar o serviço de consulta de status, ocorre o seguinte erro:

javax.xml.ws.WebServiceException: java.net.SocketException: Unexpected end of file from server
	at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(Unknown Source)
	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(Unknown Source)
	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(Unknown Source)
	at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Unknown Source)
	at com.sun.xml.internal.ws.client.Stub.process(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source)
	at $Proxy28.nfeStatusServicoNF(Unknown Source)
	at Main.main(Main.java:49)
Caused by: java.net.SocketException: Unexpected end of file from server
	at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
	at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.HttpURLConnection.getResponseCode(Unknown Source)
	at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getResponseCode(Unknown Source)
	... 15 more

Abaixo segue o meu codigo:

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.trustStoreType", "JKS");
            System.setProperty("javax.net.ssl.trustStore", "c:\\nfe.keystore");
            System.setProperty("javax.net.ssl.trustStorePassword", "123456");

            System.setProperty("javax.net.ssl.keyStoreProvider", "SunMSCAPI");
            System.setProperty("javax.net.ssl.keyStoreType", "Windows-MY");
    		
            NfeStatusServicoNF status = new ObjectFactory().createNfeStatusServicoNF();
            
            String nfeCabecMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
            		"<cabecMsg xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.02\">" +
            		"<versaoDados>1.07</versaoDados>" +
            		"</cabecMsg>"; 
            
            String nfeDadosMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
            		"<consStatServ xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.07\">" +
            		"<tpAmb>2</tpAmb>" +
            		"<cUF>35</cUF>" +
            		"<xServ>STATUS</xServ>" +
            		"</consStatServ>";
            
            
            NfeStatusServico service = new NfeStatusServico();

            NfeStatusServicoSoap soap = service.getNfeStatusServicoSoap();

            String result = soap.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg);

            System.out.println(result);

6 Respostas

M

Boa Noite Leonarndo.

Estou com este mesmo problema. Você conseguiu resolver ? Tem alguma outra solução ?

Tem alguma sugestão do que possa ser ?

[], Michel.

Edifran

leonardom e mnegg, boa tarde!!

Vocês conseguiram encontrar solução pra este problema?

Estou encontrando este erro:

java.net.SocketException: Unexpected end of file from server

Obs: antes estava funcionando. De repente parou.

Ajudem, quem puder. Muito obrigado.

Edifran

Desculpem, mas ainda preciso de ajuda, estou procurando, mas sem sucesso.

M

Cara, eu parei de mexer com a integração nfe, mas pelo que lembro, tive que mudar a forma de acessar o certificado… Nao lembro em detalhes o que era…

jeroqueiroz

Conseguiram resolver este problema?

L

Foi resolvido o problema…estou com o mesmo problema…

Criado 20 de agosto de 2010
Ultima resposta 27 de mar. de 2012
Respostas 6
Participantes 5