Transport error: 403 Error: Forbidden na NFe

Por que será que quando tento acessar o serviço de consulta de status está me dando essa Exception no Axis2?

Preciso fazer esse acesso e tenho 2 tokens iguais (apenas para empresas diferentes), um deles faz o acesso normal e o outro dá esse erro.

Tou ficando maluco com esse troço.

org.apache.axis2.AxisFault: Transport error: 403 Error: Forbidden at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:310) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at emissor.ws.h.status.NfeStatusServico2Stub.nfeStatusServicoNF2(NfeStatusServico2Stub.java:173) at emissor.lib.NFe.getStatusServico(NFe.java:457) at emissor.ui.NotasFiscaisUI$1.run(NotasFiscaisUI.java:154)

Quando eu acesso pela URL não dá problema e mostra a página do SEFAZ, é algo no meu sistema, o que pode ser?

[quote=javer]Por que será que quando tento acessar o serviço de consulta de status está me dando essa Exception no Axis2?

Preciso fazer esse acesso e tenho 2 tokens iguais (apenas para empresas diferentes), um deles faz o acesso normal e o outro dá esse erro.

Tou ficando maluco com esse troço.

org.apache.axis2.AxisFault: Transport error: 403 Error: Forbidden at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:310) at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200) at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at emissor.ws.h.status.NfeStatusServico2Stub.nfeStatusServicoNF2(NfeStatusServico2Stub.java:173) at emissor.lib.NFe.getStatusServico(NFe.java:457) at emissor.ui.NotasFiscaisUI$1.run(NotasFiscaisUI.java:154)

Quando eu acesso pela URL não dá problema e mostra a página do SEFAZ, é algo no meu sistema, o que pode ser?
[/quote][color=red]Puxa!!! [/color]
[color=darkblue]Ninguém dos “bambambans” tem uma dica para me ajudar?[/color]

Javer, conseguiu resolver o problema do Forbidden?

Estou com situação semelhante, tinha tudo funcionando com um certificado A1. Na troca para A3, erro 403.

Já refiz o trustStore, já coloquei toda a cadeia de certificados do servidor dentro do token,e nada…

Sim, era uma coisa bem estúpida, no cadastro da empresa (ou seja, no XML) estava com um CNPJ e no certificado estava com outro (no certificado estava correto), então ele retornava esse Forbiden.

Estranho. Esse tipo de erro prá mim aparece como uma mensagem bem clara sobre o CNPJ inválido.

No meu caso (já coloquei em outro tópico), precisei remover toda a cadeia de certificados das CAs do token, mantendo somente o do cliente, e importá-los novamente.

Bom, pelo menos agora está tudo ok.

Abraço

Bom dia pessoal,

jhansen estou com o mesmo problema de vocês… qual é o processo para realizar isto que fez?

A quem interessar, consegui resolver o problema e postei na thread:

http://www.guj.com.br/java/238251

Também pode ser visto em:
http://a4t.in/xwiki/bin/view/Blog/ForbiddenNFe

Espero ter ajudado

Desculpem estar upando este tópico, mas é que estou tendo esse mesmo problema, mas só com o serviço NfeConsultaCadastro (os outros de NFe funcionam) e para a UF do RS, e só com A3.

Código da função que efetua a consulta de cadastro:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.Provider;
import java.security.Security;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Enumeration;

import javax.xml.stream.XMLStreamException;
//import java.io.BufferedReader;  
//import java.io.FileInputStream;  
//import java.io.InputStreamReader; 
//import java.util.Iterator;  
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.AXIOMUtil;
import org.apache.commons.httpclient.protocol.Protocol;

import br.inf.portalfiscal.www.nfe.wsdl.cadconsultacadastro2.*;

public class SendXmlConsultaCadastro {
	private static final int SSL_PORT = 443;

	public static String SendXmlConsCad(String strXml, int tipoCert,
			String senhaDoCertificado, String urlRec, String cdUF)
			throws KeyStoreException, NoSuchAlgorithmException,
			CertificateException, IOException, UnrecoverableKeyException,
			XMLStreamException {

		String codigoDoEstado = cdUF;
		URL url = new URL(urlRec);// NfeRecepcao

		// String configName = "SmartCard.cfg";
		String configName = "";
		if (tipoCert == 1)
			configName = "SmartCardSafeSign.cfg";
		else if (tipoCert == 2)
			configName = "SmartCardSSI.cfg";
		else if (tipoCert == 3)
			configName = "Token.cfg";
		else
			configName = "SmartCardSSISafeWeb.cfg";

		// String senhaDoCertificado = "1234";
		String arquivoCacertsGeradoTodosOsEstados = "NFeCacerts";

		char SEP = File.separatorChar;
		Provider p = new sun.security.pkcs11.SunPKCS11(System.getenv("APPDATA")
				+ SEP + "JavaTotalNFe" + SEP + configName);
		Security.addProvider(p);
		char[] pin = senhaDoCertificado.toCharArray();
		KeyStore ks = KeyStore.getInstance("pkcs11");
		ks.load(null, pin);

		String alias = "";
		Enumeration<String> aliasesEnum = ks.aliases();
		while (aliasesEnum.hasMoreElements()) {
			alias = (String) aliasesEnum.nextElement();
			if (ks.isKeyEntry(alias))
				break;
		}
		X509Certificate certificate = (X509Certificate) ks
				.getCertificate(alias);
		PrivateKey privateKey = (PrivateKey) ks.getKey(alias,
				senhaDoCertificado.toCharArray());
		SocketFactoryDinamico socketFactoryDinamico = new SocketFactoryDinamico(
				certificate, privateKey);
		socketFactoryDinamico
				.setFileCacerts(arquivoCacertsGeradoTodosOsEstados);

		Protocol protocol = new Protocol("https", socketFactoryDinamico,
				SSL_PORT);
		Protocol.registerProtocol("https", protocol);

		OMElement ome = AXIOMUtil.stringToOM(strXml);

		NfeDadosMsg dadosMsg = new NfeDadosMsg();
		dadosMsg.setExtraElement(ome);
		NfeCabecMsg nfeCabecMsg = new NfeCabecMsg();

		/**
		 * Código do Estado.
		 */
		nfeCabecMsg.setCUF(codigoDoEstado);

		/**
		 * Versao do XML
		 */
		nfeCabecMsg.setVersaoDados("2.00");

		NfeCabecMsgE nfeCabecMsgE = new NfeCabecMsgE();
		nfeCabecMsgE.setNfeCabecMsg(nfeCabecMsg);

		CadConsultaCadastro2Stub stub = new CadConsultaCadastro2Stub(
				url.toString());
		ConsultaCadastro2Result result = stub.consultaCadastro2(dadosMsg,
				nfeCabecMsgE);
		return result.getExtraElement().toString();
	}
}

Código da classe SocketFactoryDinamico (é basicamente igual ao que foi postado anteriormente aqui):

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.Principal;
import java.security.PrivateKey;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.SocketFactory;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509KeyManager;

import org.apache.commons.httpclient.ConnectTimeoutException;
import org.apache.commons.httpclient.params.HttpConnectionParams;
import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;

public class SocketFactoryDinamico implements ProtocolSocketFactory {
	private SSLContext ssl = null;
	private X509Certificate certificate;
	private PrivateKey privateKey;
	private String fileCacerts;

	public SocketFactoryDinamico(X509Certificate certificate,
			PrivateKey privateKey) {
		this.certificate = certificate;
		this.privateKey = privateKey;
	}

	private SSLContext createSSLContext() {
		try {
			KeyManager[] keyManagers = createKeyManagers();
			TrustManager[] trustManagers = createTrustManagers();
			SSLContext sslContext = SSLContext.getInstance("TLS");
			sslContext.init(keyManagers, trustManagers, null);

			return sslContext;
		} catch (KeyManagementException e) {
		} catch (KeyStoreException e) {
		} catch (NoSuchAlgorithmException e) {
		} catch (CertificateException e) {
		} catch (IOException e) {
		}
		return null;
	}

	private SSLContext getSSLContext() {
		if (ssl == null) {
			ssl = createSSLContext();
		}
		return ssl;
	}

	public Socket createSocket(String host, int port, InetAddress localAddress,
			int localPort, HttpConnectionParams params) throws IOException,
			UnknownHostException, ConnectTimeoutException {
		if (params == null) {
			throw new IllegalArgumentException("Parameters may not be null");
		}
		int timeout = params.getConnectionTimeout();
		SocketFactory socketfactory = getSSLContext().getSocketFactory();
		if (timeout == 0) {
			return socketfactory.createSocket(host, port, localAddress,
					localPort);
		}

		Socket socket = socketfactory.createSocket();
		SocketAddress localaddr = new InetSocketAddress(localAddress, localPort);
		SocketAddress remoteaddr = new InetSocketAddress(host, port);
		socket.bind(localaddr);
		try {
			socket.connect(remoteaddr, timeout);
		} catch (Exception e) {
			throw new ConnectTimeoutException("Possível timeout de conexão", e);
		}

		return socket;
	}

	public Socket createSocket(String host, int port, InetAddress clientHost,
			int clientPort) throws IOException, UnknownHostException {
		return getSSLContext().getSocketFactory().createSocket(host, port,
				clientHost, clientPort);
	}

	public Socket createSocket(String host, int port) throws IOException,
			UnknownHostException {
		return getSSLContext().getSocketFactory().createSocket(host, port);
	}

	public Socket createSocket(Socket socket, String host, int port,
			boolean autoClose) throws IOException, UnknownHostException {
		return getSSLContext().getSocketFactory().createSocket(socket, host,
				port, autoClose);
	}

	public KeyManager[] createKeyManagers() {
		HSKeyManager keyManager = new HSKeyManager(certificate, privateKey);

		return new KeyManager[] { keyManager };
	}

	public TrustManager[] createTrustManagers() throws KeyStoreException,
			NoSuchAlgorithmException, CertificateException, IOException {
		KeyStore trustStore = KeyStore.getInstance("JKS");

		char SEP = File.separatorChar;
		trustStore
				.load(new FileInputStream(System.getenv("APPDATA") + SEP
						+ "JavaTotalNFe" + SEP + fileCacerts),
						"changeit".toCharArray());
		TrustManagerFactory trustManagerFactory = TrustManagerFactory
				.getInstance(TrustManagerFactory.getDefaultAlgorithm());
		trustManagerFactory.init(trustStore);
		return trustManagerFactory.getTrustManagers();
	}

	class HSKeyManager implements X509KeyManager {

		private X509Certificate certificate;
		private PrivateKey privateKey;

		public HSKeyManager(X509Certificate certificate, PrivateKey privateKey) {
			this.certificate = certificate;
			this.privateKey = privateKey;
		}

		public String chooseClientAlias(String[] arg0, Principal[] arg1,
				Socket arg2) {
			return certificate.getIssuerDN().getName();
		}

		public String chooseServerAlias(String arg0, Principal[] arg1,
				Socket arg2) {
			return null;
		}

		public X509Certificate[] getCertificateChain(String arg0) {
			return new X509Certificate[] { certificate };
		}

		public String[] getClientAliases(String arg0, Principal[] arg1) {
			return new String[] { certificate.getIssuerDN().getName() };
		}

		public PrivateKey getPrivateKey(String arg0) {
			return privateKey;
		}

		public String[] getServerAliases(String arg0, Principal[] arg1) {
			return null;
		}
	}

	public void setFileCacerts(String fileCacerts) {
		this.fileCacerts = fileCacerts;
	}
}

GSPohlmann, qual método de createSocket() você está utilizando? Estou com problemas de 403 Forbidden para envio de NFSe para Salvador, utilizando essa mesma classe.

O método de createSocket() que é chamado na função acima é o javax.net.SocketFactory.createSocket()

Certo, mas qual dos métodos públicos de SocketFactoryDinamico você chama para a criação da conexão?

[code]public Socket createSocket(String host, int port, InetAddress localAddress,
int localPort, HttpConnectionParams params) throws IOException,
UnknownHostException, ConnectTimeoutException

public Socket createSocket(String host, int port, InetAddress clientHost,  
        int clientPort) throws IOException, UnknownHostException 
}  

public Socket createSocket(String host, int port) throws IOException,  
        UnknownHostException 
}  

public Socket createSocket(Socket socket, String host, int port,  
        boolean autoClose) throws IOException, UnknownHostException [/code]

Explicitamente não está sendo chamado nenhum deles :stuck_out_tongue:

Pois é, eu notei isso nos códigos que o pessoal postou e notei que o objeto ssl tá sempre null, aí imaginei se esse não é o motivo do 403. Ainda não consegui que minha usuária faça o teste.

Estou com o mesmo problema aqui.

Consulta Cadastro com Certificado A3.

Já refizemos o keystore.

Me parece que algo na cadeia de certificado do servidor, a consulta de cadastro do RS, é o único webservice naquele servidor.

Não creio que seja alguma coisa no código, pois em outros estados funciona

Ah, fui testar usando o emissor gratuito de NF-e, e lá também deu problema. O erro que deu lá foi:

[code]; nested exception is:
org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
AxisFault
faultCode: {http://www.w3.org/2003/05/soap-envelope}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
at org.apache.axis.encoding.DeserializationContext.startDTD(DeserializationContext.java:1161)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.doctypeDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.doctypeDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at br.gov.sp.fazenda.dsen.ws.cadastro.CadConsultaCadastro2Soap12Stub.consultaCadastro2(CadConsultaCadastro2Soap12Stub.java:171)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.h(WSBusiness.java:531)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.servico(WSBusiness.java:125)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness.a(ClienteBusiness.java:590)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness.consultarCadastro(ClienteBusiness.java:547)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness$$EnhancerByCGLIB$$aafabdb0.CGLIB$consultarCadastro$8()
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness$$EnhancerByCGLIB$$aafabdb0$$FastClassByCGLIB$$6e8eef66.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:66)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness$$EnhancerByCGLIB$$aafabdb0.consultarCadastro()
at br.gov.sp.fazenda.dsen.model.facade.ClienteFacade.consultarCadastro(ClienteFacade.java:150)
at br.gov.sp.fazenda.dsen.controller.InformacaoConsultaCadastroController$1.a(InformacaoConsultaCadastroController.java:68)
at br.gov.sp.fazenda.dsen.controller.InformacaoConsultaCadastroController$1.doInBackground(InformacaoConsultaCadastroController.java:63)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

{http://xml.apache.org/axis/}hostname:MP42

org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:701)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at br.gov.sp.fazenda.dsen.ws.cadastro.CadConsultaCadastro2Soap12Stub.consultaCadastro2(CadConsultaCadastro2Soap12Stub.java:171)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.h(WSBusiness.java:531)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.servico(WSBusiness.java:125)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness.a(ClienteBusiness.java:590)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness.consultarCadastro(ClienteBusiness.java:547)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness$$EnhancerByCGLIB$$aafabdb0.CGLIB$consultarCadastro$8()
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness$$EnhancerByCGLIB$$aafabdb0$$FastClassByCGLIB$$6e8eef66.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:66)
at br.gov.sp.fazenda.dsen.model.business.ClienteBusiness$$EnhancerByCGLIB$$aafabdb0.consultarCadastro()
at br.gov.sp.fazenda.dsen.model.facade.ClienteFacade.consultarCadastro(ClienteFacade.java:150)
at br.gov.sp.fazenda.dsen.controller.InformacaoConsultaCadastroController$1.a(InformacaoConsultaCadastroController.java:68)
at br.gov.sp.fazenda.dsen.controller.InformacaoConsultaCadastroController$1.doInBackground(InformacaoConsultaCadastroController.java:63)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXException: Processing instructions are not allowed within SOAP messages
at org.apache.axis.encoding.DeserializationContext.startDTD(DeserializationContext.java:1161)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.doctypeDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.doctypeDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
… 27 more [/code]

Já quando envio a consulta de cadastro para SP, o erro não ocorre.

Ao que parece, o problema é no servidor da SEFAZ-RS mesmo.

Resposta do Sefaz RS

"A AC Certsign RFB G,4 que emitiu o certificado, não estava cadastrada nos servidores da SEFAZ RS que atende ao Web Service CadConsultaCadastro. Foi feita a solicitação de inclusão deste certificado, e essa solicitação foi atendida na manhã de hoje.

Peço que tentem realizar a operação novamente agora."

Certificado Certsign Funcionando, porem o Cliente tem Certificado CAIXA, ainda não funciona