- 4. Web Service do MDF-e 07-09-18
4.7. ConsultaStatus - 4.6. ConsultaMDFe
« Anterior - 4.8. Inclui Condutor 07-09-18
Próximo »
4.7. ConsultaStatus
Consulta o status do Serviço de Recepção de MDF-e
Assinatura
int ConsultaWS(string siglaWS, string siglaUF, int ambiente, string nomeCertificado, string versao, out string msgDados, out string msgRetWS, out string msgResultado, out string tMed, out string dhRetorno, out string xObs, string proxy, string usuario, string senha)
Descrição:
Consulta o status do Serviço de Recepção de MDF-e.
O Serviço de Recepção de MDF-e só é oferecido pelo RS e atende a todas as UF.
Esta consulta não é conclusiva, pois já ocorreram casos de o Serviço de Recepção estar com problemas e este Serviço responder "107 - Serviço em Operação". Entendemos que o Serviço presta informação subsidiária e a situação real só é obtida com o envio do MDF-e.
Também cabe ressaltar que a consulta Status do WS não é pré-requisito para o envio do MDF-e e nem de qualquer outro Web Service, ou seja, podemos consumir qualquer Web Service sem fazer a consulta prévia deste WS, existindo recomendação da SEFAZ neste sentido.
Parâmetros da chamada:
nome | tipo | fluxo | descrição |
---|---|---|---|
siglaWS | string | entrada | informar a sigla "RS" |
siglaUF | string | entrada | informar a sigla da UF do emissor do MDF-e |
ambiente | inteiro | entrada | informar o código do ambiente a ser consultado: 1- produção ou 2-homologação |
nomeCertificado | string | entrada | informar nome do titular do certificado a ser utilizado na assinatura e conexão SSL com o WS: 1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS". 2. informar: NUMEROSERIE|[número de série] quando não seja possível localizar o certificado digital pelo assunto; 3. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha". 4. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha". |
versao | string | entrada | informar a versão da mensagem XML do WS - "1.00" ou "3.00" |
msgDados | string | saída | retorna a mensagem XML enviada para o WS |
msgRetWS | string | saída | retorna a mensagem XML de resposta do WS |
msgResultado | string | saída | retorna a literal do resultado da chamada do WS |
tMed | string | saída | retorna o tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos. |
dhRetorno | string | saída | retorna a data e hora prevista para o retorno do WS no formato AAAA-MM-DDTHH:MM:SS |
xObs | string | saída | retorna as informações adicionais para o Contribuinte |
proxy | string | entrada | informar 'http://proxyserver:port' quando existir uso de proxy no ambiente. verificar com o cliente qual é o endereço do servidor proxy e a porta https, a porta padrão do https é 443, assim teríamos algo do tipo 'http://192.168.15.1:443' |
usuario | string | entrada | informar o usuário para autenticação no proxy, se necessário |
senha | string | entrada | informar a senha de autenticação no proxy, se necessário |
Certificado Digital
Informar o Nome do titular (campo Assunto) do certificado digital a ser utilizado na conexão SSL.
Para consultar o status de WS é necessário possuir um certificado digital válido para estabelecer a conexão SSL com o WS.
Tempo Médio de Resposta do Serviço
Esta informação serve de parâmetro para estabelecer a espera para realizar a busca do resultado do processamento do MDF-e, os tempos normais são próximos de 1, valores altos indicam que o serviço de recepção do MDF-e tem muita sobrecarga ou enfrenta problemas, sendo uma informação que pode subsidiar a decisão de adotar a contingência.
Todos os parâmetros da chamada devem ser declarados e inicializados na aplicação do usuário
Retorno da chamada:
A Consulta Status devolve um código numérico com os seguintes significados:
código | Mensagem | origem | regra |
---|---|---|---|
5101 | Erro: A mensagem de retorno do WS não é um XML válido: [mensagem de retorno] | DLL | - |
5102 | Erro: Tag cStat inexistente na mensagem de retorno [mensagem de erro] | DLL | - |
5103 | Erro: Tag xMotivo inexistente na mensagem de retorno [mensagem de erro] | DLL | - |
5104 | Erro: Tag [nome tag] inexistente na mensagem de retorno [mensagem de erro] | DLL | - |
5105 | Erro: O WS não devolveu nenhum resultado | DLL | - |
5201 | Erro: O código do tipo de ambiente [tipo de ambiente recebido pela DLL] informado diferente de 1 - produção e 2 - homologação | DLL | - |
5202 | Erro: A sigla da UF [sigla recebida pela DLL] informada é inválida | DLL | - |
5203 | Erro: Inexiste url para a UF [sigla UF] informada no ambiente [ambiente informado] desejado, verifique se existe atualização do arquivo [nome arquivo] disponível. | DLL | - |
5204 | Erro: Arquivo que contem a URL do WS não localizado em [caminho da aplicação] | DLL | - |
5205 | Erro: Ocorreu um erro inesperado no processamento da URL (URL) : [mensagem de ERRO DO WINDOWS] | DLL | - |
5206 | Erro: Ocorreu um erro de validação do XML (nome XML) : [mensagem de ERRO DO WINDOWS] | DLL | - |
5403 | Erro: Falha ao acessar certificado digital [mensagem de ERRO DO WINDOWS] | DLL | - |
5404 | Erro: Nenhum certificado digital selecionado | DLL | |
5405 | Erro: Nenhum certificado válido foi encontrado com o nome [NomeCertificado] informado no repositório [MY do CurrentUser] | DLL | - |
5406 | Erro: Falha no tratamento do parâmetro nome: [nome informado] | DLL | - |
5407 | Erro: Quantidade de parâmetros inválido: [nome informado] | DLL | - |
5408 | Erro: Falha na criação do objeto certificate: [mensagem do ERRO DO WINDOWS] | DLL | - |
6101 | Erro: O parâmetro versao não foi informado | DLL | - |
6102 | Erro: O conteúdo do parâmetro sigla da UF: [valor informado] é inválido | DLL | - |
6103 | Erro: O conteúdo do parâmetro versao informado é inválido: [valor informado], a DLL espera: [valor esperado] | DLL | - |
6104 | Erro: O parâmetro siglaWS deve ser informado | DLL | - |
6105 | Erro: O parâmetro siglaUF deve ser informado | DLL | - |
6106 | Erro: O parâmetro tipoAmbiente deve ser informado | DLL | - |
6107 | Erro: O parâmetro tipoAmbiente [valor informado] deve ser 1 ou 2 | DLL | - |
6108 | Erro: O nome do titular do certificado deve ser informado | DLL | - |
107 | Servico em Operacao | WS | - |
108 | Serviço Paralisado Momentaneamente (curto prazo) | WS | B03 |
109 | Serviço Paralisado sem Previsão | WS | B04 |
214 | Rejeição: Tamanho da mensagem excedeu o limite estabelecido | WS | B01 |
215 | Rejeição: Falha no schema XML | WS | D01 |
238 | Rejeição: Cabeçalho - Versão do arquivo XML superior a Versão vigente | WS | C05 |
239 | Rejeição: Cabeçalho - Versão do arquivo XML não suportada | WS | C06 |
242 | Rejeição: Elemento mdfeCabecMsg inexistente no SOAP Header | WS | C01 |
243 | Rejeição: XML Mal Formado | WS | B02 |
252 | Rejeição: Ambiente informado diverge do Ambiente de recebimento | WS | G001 |
280 | Rejeição: Certificado Transmissor inválido | WS | A01 |
281 | Rejeição: Certificado Transmissor Data Validade | WS | A02 |
282 | Rejeição: Certificado Transmissor sem CNPJ | WS | A07 |
283 | Rejeição: Certificado Transmissor - erro Cadeia de Certificação | WS | A03 |
284 | Rejeição: Certificado Transmissor revogado | WS | A05 |
285 | Rejeição: Certificado Transmissor difere ICP-Brasil | WS | A06 |
286 | Rejeição: Certificado Transmissor erro no acesso a LCR | WS | A04 |
402 | Rejeição: XML da área de dados com codificação diferente de UTF-8 | WS | D03 |
404 | Rejeição: Uso de prefixo de namespace não permitido | WS | D02 |
409 | Rejeição: Campo cUF inexistente no elemento mdfeCabecMsg do SOAP Header | WS | C02 |
410 | Rejeição: UF informada no campo cUF não é atendida pelo WebService | WS | C03 |
411 | Rejeição: Campo versaoDados inexistente no elemento mdfeCabecMsg do SOAP Header | WS | C04 |
598 | Rejeicao: Usar somente o namespace padrao do MDF-e | WS | D02 |
599 | Rejeicao: Nao eh permitida a presenca de caracteres de edicao no inicio/fim da mensagem ou entre as tags da mensagem | WS | D03 |
Tratamento de Erro:
Caso ocorra algum erro na chamada do WS (5001-6108) ou a requisição não seja atendida pelo WS (214-999), será gravado um log na pasta log, com as seguintes informações que devem ser úteis para identificação do problema:
- Timestamp - data e hora da ocorrência do erro
- WS - nome do WS acessado
- URL - URL do WS acessado
- ambiente - código do ambiente
- certificado - nome do titular (assunto) do certificado digital utilizado
- erro - código e descrição do erro
- msgDados - mensagem gerada pela DLL enviada ao WS
- msgRetWS - conteúdo do retorno do WS
Os erros com código > 5000 são erros tratados pela DLL e ocorrem nas seguintes situações:
- 5001 - 5017 - falha na tentativa de consumir o WS (problema de conexão/rede)
- 5101 - 5105 - falha no tratamento do XML de resposta do WS (problema na resposta do WS)
- 5201 - 5206 - falha na recuperação da URL do WS desejado (problema no arquivo de configuração da URL)
- 5403 - 5408 - falha no acesso ao certificado digital
- 6101 - 6108 - falha no tratamento dos parâmetros da chamada da DLL
Histórico de atualização:
- 2012-10-09 - versão inicial
XML:
Exemplo de XML da mensagem de Consulta o status do Serviço de Recepção de MDF-e
<?xml version="1.0" encoding="UTF-8"?> <consStatServMDFe xmlns="http://www.portalfiscal.inf.br/mdfe" versao="1.00"> <tpAmb>2</tpAmb> <xServ>STATUS</xServ> </consStatServMDFe>
Exemplo de XML da resposta da Consulta o status do Serviço de Recepção de MDF-e
<retConsStatServMDFe xmlns="http://www.portalfiscal.inf.br/mdfe" versao="1.00"> <tpAmb>2</tpAmb> <verAplic>RS20120203160344</verAplic> <cStat>107</cStat> <xMotivo>Servico em Operacao</xMotivo> <cUF>35</cUF> <dhRecbto>2012-10-09T11:51:01</dhRecbto> <tMed>1</tMed> </retConsStatServMDFe>
Importante
O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.
Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e sendo desnecessária, pois os browser exibem formatado.
Exemplos de uso:
Visual Basic 6.0
' em breve
- 4.7. ConsultaStatus
4. Web Service do MDF-e 07-09-18 - « Anterior
4.6. ConsultaMDFe - Próximo »
4.8. Inclui Condutor 07-09-18