Apache Axis2 e mensagem SOAP (value cannot be null: Parameter name: schemas)

Pessoal, estou há duas semanas sem conseguir resolver este problema.

Com Axis2 eu crio os clientes para acessar o webservice. Passo por toda a parte de autenticação e assinatura sem problema, mas quando eu evoco o método do webservice (que prepara uma mensagem soap) recebo o seguinte erro:

xception in thread "main" org.apache.axis2.AxisFault: Value cannot be null.
Parameter name: schemas
	at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:446)
	at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:371)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
	at org.tempuri.NfseServicesStub.recepcionarLoteRps(NfseServicesStub.java:1062)
	at Teste.main(Teste.java:42)

Ativando o debug do Axis, este trecho chama a atenção:

0:37:55,527 DEBUG content:70 - << “nvelope xmlns:s=“http://schemas.xmlsoap.org/soap/envelope/”><s:Body><s:Fault>s:ClientValue cannot be null. [\n]”
10:37:55,527 DEBUG content:70 - << “Parameter name: schemasValue cannot be null. [\n]”
10:37:55,528 DEBUG content:84 - << “Parameter name: schemas</s:Fault></s:Body></s:Envelope>”

Que esta está faltando? Eu não estou entendendo. Lembro que estou acessando um webserice que roda em plataforma .NET.

Abraço

Resolvido.

http://www.guj.com.br/posts/list/227812.java

Resolvido.

http://www.guj.com.br/posts/list/227812.java

Caro Flávio,

eu também criei um web service cliente, só que para se conectar ao web service precisa de assinatura digital, a empresa já me passou o arquivo.pfx do certificado digital, mas não sei como faço para incluir essa autenticação.

Por favor, vc pode me dá uma dica de como eu faço isso?

Obrigado.

Não sei se foi melhor você reviver o tópico do que criar um novo, mas pra evitar que você precise fazer os 2, já te mando uma ajuda.[code] public static void configurar(){
String CAMINHO_DO_CERTIFICADO = “”;
String SENHA_DO_CERTIFICADO = “”;
String CAMINHO_ARQUIVO_CACERTS = “”;

	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.clearProperty("javax.net.ssl.keyStore");
	System.clearProperty("javax.net.ssl.keyStorePassword");
	System.clearProperty("javax.net.ssl.trustStore");

	System.setProperty("javax.net.ssl.keyStore", CAMINHO_DO_CERTIFICADO );
	System.setProperty("javax.net.ssl.keyStorePassword", SENHA_DO_CERTIFICADO);

	System.setProperty("javax.net.ssl.trustStoreType", "JKS");
	System.setProperty("javax.net.ssl.trustStore", CAMINHO_ARQUIVO_CACERTS);
	
}[/code]Não sei se precisa do arquivo com [b]cacerts[/b] mas sei que para os serviços da SEFAZ precisa

Oi Rodrigo,

o serviço é da Sefaz sim, e não foi me passado o arquivo cacerts e nem a senha do certificado. vou pedir essas informações à SEFAZ, testar o código que vc me passou e posto o resultado aqui.

Obrigado.

o cacerts você mesmo pode gerar.

http://www.javac.com.br/jc/posts/list/34-nfe-geracao-do-arquivo-cacerts-para-todos-os-estados-unico-arquivo.page

quanto à senha do certificado, essa eles realmente precisam te passar :slight_smile:

Rodrigo, o sistema que estou trabalhando se conecta com o Web Service da Sefaz do estado do Ceará, o sistema não é de nota fiscal e sim de gerar Documento de Arrecadação Estadual (DAE). Esse codigo gerador do Cacerts serve pra esse web service?

esse código ele gera um arquivo é isso? ele rodou com sucesso aqui, mas não estou conseguindo localizar o arquivo gerado.