Ajuda com WebServices

E pessoal

eu tou gerando o webservices para Nfe e baixei os wsdl do ambiente de homologação da sefaz RS

Estou chamando status servico assim:

[code]
String nfeCabecMsg = “<?xml version=\"1.0\" encoding=\"UTF-8\"?>”
+ "<cabecMsg xmlns=“http://www.portalfiscal.inf.br/nfe” "
+ “versao=“1.02”>” + “1.07”
+ “”;
String nfeDadosMsg = “<?xml version=\"1.0\" encoding=\"UTF-8\"?>”
+ "<consStatServ " + " versao=“1.07"”
+ " xmlns="http://www.portalfiscal.inf.br/nfe">"
+ “2” + “42”
+ “STATUS” + “”;

	         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", "PKCS12");  
	         System.setProperty("javax.net.ssl.keyStore","C:\\SEC\\certificado.pfx"); 
	         System.setProperty("javax.net.ssl.keyStorePassword", "senha"); 
	          
	         System.setProperty("javax.net.ssl.trustStoreType", "JKS");  
	         System.setProperty("javax.net.ssl.trustStore", "C:\\SEC\\meukeystore.jks");          
	         
	         
	         
	NfeStatusServico servico = new NfeStatusServicoLocator();
	NfeStatusServicoSoap soap = servico.getNfeStatusServicoSoap();
	soap.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg); [/code]

Mas estou com pau no Axis, então queria uma ajuda para usar o Xfire para consumir este webservice…

alguem pode me ajudar por favor! valeu

ninguem para dar uma força??

ninguem??

por favor, meu emprego ta dependendo disso… por favor… qualquer dica…!!

obrigado

Calma.
Que erro que dá na parte do Axis?

Já tentou dar uma lida nesse ou nesse cara?

E não se desespere que pra tudo tem jeito.

Opa Andre, blz? valeu por responder…

Eu instalei o axis, mas deu tanto pau que resolvi tirar hehe

entao comecei a testar o Xfire, ja fiz uns testes para aprender mexer um pouquinho com ele, e agora consumi uns webservices so para teste… deu tudo certo!

Na chamada da service da NFe, no codigo que postei ai em cima, eu só inclui o seguinte trecho alterado:

[code]NfeStatusServico servico = new NfeStatusServicoLocator();

	        Service serviceModel = new ObjectServiceFactory().create(NfeStatusServicoSoap.class);
	        
	        XFire xfire = XFireFactory.newInstance().getXFire();
	        XFireProxyFactory factory = new XFireProxyFactory(xfire);
	        
	        String serviceUrl = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfestatusservico/nfestatusservico.asmx";
	        

	        NfeStatusServicoSoap client = null;
	        client = (NfeStatusServicoSoap) factory.create(serviceModel,serviceUrl);
	        System.out.println(client.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg));

meu services.xml e omapeamento do servico que estou querendo chamar:

NfeStatusServico NfeStatusServico br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServicoLocator [/code]

Ai que está… Não sei se estou setando as coisas certas, mas recebi esta mensagem:

[code]Exception in thread “main” org.codehaus.xfire.XFireRuntimeException: Could not invoke service… Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn’t send message.
org.codehaus.xfire.fault.XFireFault: Couldn’t send message.
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)20:36:51,351 ERROR HttpChannel:144 - javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target[/code]

Acredito que seja pq estou usando um certificado invalido… de teste, se for isso, o certificado, entao a implementação esta certa?

vlw

Sinceramente, não sei te responder isso. Mas acredito que antes de ‘confiar’ você deveria testar com um certificado válido. Não tem como gerar um usando o keytools? Tem um tutorial aqui no GUJ mesmo.

Sobre o Axis, que problemas você encontrou? Você estava usando o Axis ou o Axis2? O Axis2 tem um bat, chamado de wsdl2java que pega um wsdl e gera uma classe Java com todos os serviços e coisas do tipo. Poderia apontar as desvantagens do Axis? Você pegou e assim… falou algo como “ah, tá dando muito problema, vou mudar”?

Desculpe as perguntas… É que estou estudando Axis2 e gostaria de saber as dificuldades que você encontrou.