| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 10:30:25
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Prezados, bom dia.
preciso da ajuda de vocês, fiz um sistema de envio de nota fiscal em Maker (gerador de código Java), funciona beleza, mas quando tento enviar uma NF diferente(ex: mandei a nf da matriz e tento enviar a nota fiscal para uma filial) da erro na autenticação, isso porque a JVM guarda o último keystore enviado... se eu reiniciar o tomcat eu consigo enviar normalmente. Existe uma forma de contornoar essa situação? alguma função em Java que consiga retirar o keystore guardado em cache sem que eu precise reiniciar o tomcat?
Desde já agradeço pela atenção!
This message was edited 1 time. Last update was at 06/10/2010 15:20:50
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 12:11:25
|
asaudate
GUJ Master
![[Avatar]](/images/avatar/974e2945a18e0bfb8e3aa8becac3e65c.jpg)
Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline
|
Dê uma olhada no meu blog, eu coloquei uma resolução para este problema : http://alesaudate.com.
[]´s
|
Alexandre Saudate
__________________________
Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.
Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate
Evite usar Axis2!!! Leia aqui para mais detalhes!
@alesaudate
Quer ler um blog especializado em web services e SOA?
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 12:16:54
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Colega, Asaudade.
BLz, estou dando uma olhada qualquer dúvida espero poder contar com sua ajuda novamente.
desde já te agradeço pela dica.
para os que estão com o mesmo problema o link é: http://alesaudate.com/2010/08/09/how-to-dynamically-select-a-certificate-alias-when-invoking-web-services/
vou ver se resolvo meu problema e posto o resultado aqui
This message was edited 1 time. Last update was at 15/09/2010 12:22:26
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 12:24:39
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Asaudate,
Você utilizou Jboss, sabe dizer se isso é válido para o Tomcat? porque é nele que enfreto esse problema.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 15:20:07
|
asaudate
GUJ Master
![[Avatar]](/images/avatar/974e2945a18e0bfb8e3aa8becac3e65c.jpg)
Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline
|
Basta que você coloque as libs do JAX-WS no diretório de lib´s do Tomcat. (eu usei a RI, que dá pra baixar em https://jax-ws.dev.java.net/2.1.1/index.html).
[]´s
|
Alexandre Saudate
__________________________
Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.
Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate
Evite usar Axis2!!! Leia aqui para mais detalhes!
@alesaudate
Quer ler um blog especializado em web services e SOA?
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2010 15:23:47
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Pessoal, alguém sabe como faço para limpar as propriedades da JVM? descobri o erro da minha aplicação, a função para remover na verdade não remove. estou fazendo da seguinte forma:
System.getProperties().remove("key");
e também usei System.clearProperty("key");
mas n removeram nada.
Asaudate, vc é a minha referência nessa parada, se puder dar uma força mais uma vez... hehehe
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2010 23:48:25
|
asaudate
GUJ Master
![[Avatar]](/images/avatar/974e2945a18e0bfb8e3aa8becac3e65c.jpg)
Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline
|
System.getProperties().remove("key"); funciona pra mim. Que parâmetro você está querendo remover?? E como você seta, via parâmetro da VM, mesmo, ou via programação?
[]´s
This message was edited 1 time. Last update was at 16/09/2010 23:48:54
|
Alexandre Saudate
__________________________
Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.
Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate
Evite usar Axis2!!! Leia aqui para mais detalhes!
@alesaudate
Quer ler um blog especializado em web services e SOA?
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/09/2010 09:48:54
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Asaudate, Bom dia.
cara seguinte, ontem remexi nesse trem e percebi o seguinte... a função que estou utilizando aqui no Maker envia a NF da seguinte forma:
primeira ela da System.setProperty("javax.net.ssl.keyStore", MinhavariavelKeystore); para guardar os dados no sistema;
em seguida ela utiliza uma classe espicífica pra realizar o envio e depos limpa as propriedades do sistema com
System.getProperties().remove(key);
Quando vi isso pensei que a função n tivesse funcionando, mas coloquei uma série de labels no jsp e percebi que ele está limpando mesmo as propriedades do sistema.
Sendo assim a única solução que consigo pensar é mudar a função e tentar passar esses dados a partir de uma variável e não pegando do sistema, como está sendo feito atualmente.
O problema ainda maior é que a classe q a função importa para enviar os dados pra prefeitura, está num .class e não tenho acesso ao código. vou pesquisar por uma função que realize o envio da NF para o webservice, mas já pergunto se é obrigatório os dados estarem nas propriedades do sistema ou se eles podem ficar numa variável como penso em fazer?
No aguardo, e mais uma vez agradeço a ajuda que tem me dado.(desesperado aqui no trampo p resolver esse negócio, projeto no final e só dependendo desse pepino... affs)
This message was edited 2 times. Last update was at 17/09/2010 11:52:44
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/09/2010 13:53:45
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
alguém sabe me dizer onde encontro um material sobre as bibliotecas:
import org.apache.axis.client.Stub;
import org.apache.axis.wsdl.gen.NoopFactory;
import org.apache.axis.wsdl.symbolTable.*;
import org.apache.axis.wsdl.toJava.*;
dei uma olhada no google mas n achei nada útil, preciso entender como isso funciona para tentar gerar uma classe que envie o XML para o webservice e me de um retorno.
This message was edited 1 time. Last update was at 21/09/2010 13:54:17
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/09/2010 11:38:37
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Pessoal, estou tendo problemas para definir o serviço de envio da nota, no seguinte trecho do código
javax.xml.ws.Service service = javax.xml.ws.Service.create(new java.net.URL(url), new javax.xml.namespace.QName(namespace, serviceName));
apresenta o erro:
javax.xml.ws.WebServiceException: The following WSDL exception occurred: WSDLException: faultCode=WSDL4JWrapper : : WSDLException: faultCode=WSDL4JWrapper : : Received fatal alert: handshake_failure
alguém já passou por isso?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/09/2010 21:32:36
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Código inteiro do erro:
Exceção Gerada:
javax.xml.ws.WebServiceException: The following WSDL exception occurred: WSDLException: faultCode=WSDL4JWrapper : : WSDLException: faultCode=WSDL4JWrapper : : Received fatal alert: handshake_failure at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:170) at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:67) at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.setupWsdlDefinition(ServiceDescriptionImpl.java:507) at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.(ServiceDescriptionImpl.java:12 at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:101) at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescription(DescriptionFactory.java:67) at org.apache.axis2.jaxws.spi.ServiceDelegate.(ServiceDelegate.java:84) at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.java:45) at javax.xml.ws.Service.(Service.java:33) at javax.xml.ws.Service.create(Service.java:85) at wfr.com.systems.system_tif.rules.WebrunFunctions.ebfWSCallSSL(WebrunFunctions.java:11323) at wfr.com.systems.system_tif.rules.EnviaLoteNfseWs.run(EnviaLoteNfseWs.java:102) at wfr.rules.WFRRule.start(WFRRule.java:741) at wfr.rules.WFRRule.callRule(WFRRule.java:661) at wfr.com.systems.system_tif.rules.MontaXml.run(MontaXml.java:165) at wfr.rules.WFRRule.start(WFRRule.java:741) at wfr.rules.WFRRule.call(WFRRule.java:1779) at wfr.rules.WFRRule.call(WFRRule.java:53) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: WSDLException: faultCode=WSDL4JWrapper : : WSDLException: faultCode=WSDL4JWrapper : : Received fatal alert: handshake_failure: at org.apache.axis2.jaxws.util.WSDL4JWrapper.(WSDL4JWrapper.java:184) at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.setupWsdlDefinition(ServiceDescriptionImpl.java:489) ... 20 more
Causa:
WSDLException: faultCode=WSDL4JWrapper : : WSDLException: faultCode=WSDL4JWrapper : : Received fatal alert: handshake_failure: at org.apache.axis2.jaxws.util.WSDL4JWrapper.(WSDL4JWrapper.java:184) at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.setupWsdlDefinition(ServiceDescriptionImpl.java:489) at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.(ServiceDescriptionImpl.java:12 at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:101) at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescription(DescriptionFactory.java:67) at org.apache.axis2.jaxws.spi.ServiceDelegate.(ServiceDelegate.java:84) at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.java:45) at javax.xml.ws.Service.(Service.java:33) at javax.xml.ws.Service.create(Service.java:85) at wfr.com.systems.system_tif.rules.WebrunFunctions.ebfWSCallSSL(WebrunFunctions.java:11323) at wfr.com.systems.system_tif.rules.EnviaLoteNfseWs.run(EnviaLoteNfseWs.java:102) at wfr.rules.WFRRule.start(WFRRule.java:741) at wfr.rules.WFRRule.callRule(WFRRule.java:661) at wfr.com.systems.system_tif.rules.MontaXml.run(MontaXml.java:165) at wfr.rules.WFRRule.start(WFRRule.java:741) at wfr.rules.WFRRule.call(WFRRule.java:1779) at wfr.rules.WFRRule.call(WFRRule.java:53) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595)
estou há dois dias tentando encontrar a causa, mas não identifico, já olhei na documentação do Service.create e ele recebe de fato dois parametros, a URL e o QName com nome do servico e namespace. o engraçado é que tirando a URL e passando apenas o QName ele para de dar erro, mas não posso deixar assim porque sem a url do wsdl as funções de envio não funcionarão.
This message was edited 2 times. Last update was at 24/09/2010 16:08:08
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/09/2010 11:38:25
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Andei pesquisando sobre o erro acima e me parece que no momento do service.create é feita uma requisicao com o wsdl e em webservices que exigem autenticacao é necessário que seja informado o keystore.
Bem assim é a programação, resolvendo um problema e aparecendo outro, a saga da NF parece n ter fim.
Amigos, o erro agora é : java.io.IOException: Keystore was tampered with, or password was incorrect
ele ocorre nessa parte do codigo:
SSLSocketFactoryGenerator sslFactory = new SSLSocketFactoryGenerator(alias.toString(), fileKeyStore.toString(), filepfx.toString(), passKeyStore.toString(), passpfx.toString());
javax.net.ssl.SSLSocketFactory socketFactory = null;
try{
socketFactory = sslFactory.getSSLSocketFactory();
}catch (Exception e){
return new Variant(e.toString());
}
O código do SSLSocketFactoryGenerator me foi cedido pelo nosso amigo Alexandre(que tem me ajudado ate aqui).
segue código:
olhando o código uma coisa que n entendi foi porque vc(alexandre) pega a senha como parametro mas n seta ela na construtora.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/09/2010 16:05:15
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Prezados,
Creio que o erro está neste trecho:
por alguma razão ele n consegue carregar o ks.load
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/09/2010 16:55:31
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Prezados,
identifiquei o problema, era a instancia que estava setando errado. ali deve-se passar o .pfx e a minha instancia que é PKCS12.
O problema agora é pra converter uma string para o tipo SOAPMessage:
o alerta da exceção diz:
org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found cabecalho
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 12:32:11
|
gambazinho
Java Ninja
Membro desde: 15/09/2010 10:27:22
Mensagens: 254
Offline
|
Prezados, ao que parece é necessário inserir uma tag(algumas na verdade) no XML. googlando encontrei algo assim:
todo o conteudo do meu XML deve ir dentro da soap:body?
This message was edited 1 time. Last update was at 28/09/2010 12:36:12
|
|
|
 |
|
|