Página 1 de 2

Esocial

Enviado: 12 Dez 2017 10:13
por AlainSilva
Bom dia Pessoal, fiz o envio do arquivo S1000, porém na consulta do recibo me informa erro <cdResposta>402</cdResposta><descResposta>Schema do evento inválido e <codigo>102</codigo><descricao>O Evento informado não foi ...
Já olhei o xml e não estou conseguindo encontrar o erro.
Alguem tem alguma sugestão pra esse erro?
xml s1000
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://www.esocial.gov.br/servicos/empr ... s><eSocial xmlns="http://www.esocial.gov.br/schema/lote/e ... oteEventos grupo="1"><ideEmpregador><tpInsc>1</tpInsc><nrInsc>00000000</nrInsc></ideEmpregador><ideTransmissor><tpInsc>1</tpInsc><nrInsc>00000000000000</nrInsc></ideTransmissor><eventos><evento Id="ID1431986960000002017121209403000001"><eSocial xmlns="http://www.esocial.gov.br/schema/evt/ev ... Empregador Id="ID1431986960000002017121209403000001"><ideEvento><tpAmb>2</tpAmb><procEmi>1</procEmi><verProc>201708</verProc></ideEvento><ideEmpregador><tpInsc>1</tpInsc><nrInsc>00000000</nrInsc></ideEmpregador><infoEmpregador><inclusao><idePeriodo><iniValid>2017-12</iniValid></idePeriodo><infoCadastro><nmRazao>RAZAO SOCIALA</nmRazao><classTrib>99</classTrib><natJurid>2062</natJurid><indCoop>0</indCoop><indConstr>0</indConstr><indDesFolha>0</indDesFolha><indOptRegEletron>0</indOptRegEletron><indEntEd>N</indEntEd><indEtt>N</indEtt><contato><nmCtt>RESPONSAVEL</nmCtt><cpfCtt>00000000000</cpfCtt><foneFixo>00000000000</foneFixo><foneCel>00000000000</foneCel><email>EMAIL@uol.com.br</email></contato><softwareHouse><cnpjSoftHouse>00000000000000</cnpjSoftHouse><nmRazao>RAZAO SOCIAL</nmRazao><nmCont>RESPONSAVEL</nmCont><telefone>00000000000</telefone><email>EMAIL@uol.com.br</email></softwareHouse><infoComplementares><situacaoPJ><indSitPJ>0</indSitPJ></situacaoPJ></infoComplementares></infoCadastro></inclusao></infoEmpregador></evtInfoEmpregador><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><Si ... tionMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n- ... tureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256 ... p:Envelope>

retorno:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelop ... osResponse xmlns="http://www.esocial.gov.br/servicos/empr ... vio/v1_1_0"> <EnviarLoteEventosResult><eSocial xmlns="http://www.esocial.gov.br/schema/lote/e ... vio/v1_1_0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan ... posta>Lote Recebido com Sucesso.</descResposta></status><dadosRecepcaoLote><dhRecepcao>2017-12-12T09:40:41.5900325-02:00</dhRecepcao><versaoAplicativoRecepcao>0.1.0-A0243</versaoAplicativoRecepcao><protocoloEnvio>1.2.201712.0000000000000518199</protocoloEnvio></dadosRecepcaoLote></retornoEnvioLoteEventos></eSocial></EnviarLoteEventosResult></EnviarLoteEventosResponse></s:Body></s:Envelope>

retorno:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelop ... osResponse xmlns="http://www.esocial.gov.br/servicos/empr ... t><eSocial xmlns="http://www.esocial.gov.br/schema/lote/e ... nto/v1_3_0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><reto ... posta>Lote processado com sucesso.</descResposta></status><dadosRecepcaoLote><dhRecepcao>2017-12-12T09:40:41.59</dhRecepcao><versaoAplicativoRecepcao>0.1.0-A0243</versaoAplicativoRecepcao><protocoloEnvio>1.2.201712.0000000000000518199</protocoloEnvio></dadosRecepcaoLote><dadosProcessamentoLote><versaoAplicativoProcessamentoLote>1.0.0.0</versaoAplicativoProcessamentoLote></dadosProcessamentoLote><retornoEventos><evento Id="ID1431986960000002017121209403000001"><retornoEvento><eSocial xmlns="http://www.esocial.gov.br/schema/evt/re ... ornoEvento Id="ID1431986960000002017121209403000001"><ideEmpregador><tpInsc>1</tpInsc><nrInsc>00000000</nrInsc></ideEmpregador><recepcao><tpAmb>2</tpAmb><dhRecepcao>2017-12-12T09:40:41.59</dhRecepcao><versaoAppRecepcao>0.1.0-A0243</versaoAppRecepcao><protocoloEnvioLote>1.2.201712.0000000000000518199</protocoloEnvioLote></recepcao><processamento><cdResposta>402</cdResposta><descResposta>Schema do evento inválido.</descResposta><versaoAppProcessamento>6.0.0-A2456</versaoAppProcessamento><dhProcessamento>2017-12-12T09:41:22.863</dhProcessamento><ocorrencias><ocorrencia><tipo>1</tipo><codigo>102</codigo><descricao>O Evento informado não foi reconhecido pelo sistema.
Ação Sugerida: Verificar se o evento informado e a versão do leiaute estão de acordo com a Tabela 9 (Tipos de Arquivo do eSocial) do eSocial.</descricao></ocorrencia></ocorrencias></processamento></retornoEvento></eSocial></retornoEvento></evento></retornoEventos></retornoProcessamentoLoteEventos></eSocial></ConsultarLoteEventosResult></ConsultarLoteEventosResponse></s:Body></s:Envelope>

Esocial

Enviado: 12 Dez 2017 10:26
por JoséQuintas
Alguem tem alguma sugestão pra esse erro?
Deram uma sugestão nesse retorno....
Ação Sugerida: Verificar se o evento informado e a versão do leiaute estão de acordo com a Tabela 9 (Tipos de Arquivo do eSocial) do eSocial

Esocial

Enviado: 12 Dez 2017 10:28
por JoséQuintas
Outra sugestão é validar o XML.
E se não resolver, olhar campo a campo.

Esocial

Enviado: 13 Dez 2017 08:16
por AlainSilva
Bom dia Sr JoseQuintas, correto. É a resposta do retorno, quando digo sugestão é se algum colega já passou por esse problema e me de uma dica, "seu namespace no xml esta errado, falta ou uma TAg errada..." , pois pelo que vi são várias versões que estão lançando e isso traz uma certa confusão.
O Sr fala Validar o Xml. Seria pela função ou existe uma outra maneira como na NFe que tem os sites em que colocamos o xml e ele valida ?

IF oDOMDoc:parseError:errorCode <> 0
MsgStop('Não foi possível carregar o documento pois ele não corresponde ao seu Schema'+HB_OsNewLine())
RETURN .f.
ENDIF
RETURN .T.

obrigado

Esocial

Enviado: 13 Dez 2017 09:44
por jairfab
Com esta versão você não vai conseguir validar, você está enviando na versão v02_02_02 a versão correta agora é v02_04_01 altere o layout do seu xml para esta versão que provavelmente vai resolver.

Esocial

Enviado: 13 Dez 2017 11:52
por AlainSilva
jairfab obrigado por responder.
Cara eu troquei o certificado e virou uma confusão agora. nem estou conseguindo enviar agora. Tem como vc ver se esta parte esta certa?
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:v1="http://www.esocial.gov.br/servicos/empr ... vio/v1_1_0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<v1:EnviarLoteEventos>
<loteEventos>
<eSocial xmlns="http://www.esocial.gov.br/schema/lote/e ... vio/v1_1_1">
<envioLoteEventos grupo="1">
<ideEmpregador>
<tpInsc>1</tpInsc>
<nrInsc>43198696</nrInsc>
</ideEmpregador>
<ideTransmissor>
<tpInsc>1</tpInsc>
<nrInsc>43198696000468</nrInsc>
</ideTransmissor>
<eventos>
<evento Id="ID1431986960000002017121311451900001">
<eSocial xmlns="http://www.esocial.gov.br/schema/evt/ev ... /v02_04_01">
<evtInfoEmpregador Id="ID1431986960000002017121311451900001">

Esocial

Enviado: 13 Dez 2017 12:47
por jairfab
Olhando aparentimente está certo!

Esocial

Enviado: 13 Dez 2017 13:15
por AlainSilva
jairfab, eu devo ter mexido em alguma parte que agora não esta funcionando.
O WebService é esse mesmo?
oServerWS:open('POST',"https://webservices.producaorestrita.es ... ventos.svc", .f.)
oServerWS:setRequestHeader('Content-Type','text/xml; charset=utf-8')
oServerWS:setRequestHeader('SoapAction',"http://www.esocial.gov.br/servicos/empr ... oteEventos")

Esocial

Enviado: 13 Dez 2017 13:17
por JoséQuintas
Cara eu troquei o certificado e virou uma confusão agora. nem estou conseguindo enviar agora.
Depende o que significa trocar o certificado.
Instalou um certificado novo, e não removeu o velho.
Ou instalou outro certificado com outro nome?

Sobre validar:

Se tem o XML, e os arquivos de validação XSD, pode validar local.

Esocial

Enviado: 13 Dez 2017 13:25
por AlainSilva
Pois é Sr JoseQuintas, eu estava com um certificado novo funcionando normal, ai ele deu pau e tive que voltar com o meu velho que vence agora dia 15. Mas meu programa do esocial que estava enviando agora da erro. OU eu mexi em alguma parte sem querer ou é o certificado.
Eu não como fazer a validação com o arquivo xml e o arquivo xsd.
Tem uma função pra isso?

Esocial

Enviado: 13 Dez 2017 13:36
por JoséQuintas
Sim, é recurso já existente no Windows.
Na SefazClass tem rotina pra isso.

Esocial

Enviado: 15 Dez 2017 14:44
por AlainSilva
boa tarde ser JoseQuintas, seria essa a função?

Código: Selecionar todos

STATIC FUNCTION DomDocValidaXml( cXml, cFileXsd )
   LOCAL oXmlDomDoc, oXmlSchema, oXmlErro, cRetorno := "ERRO"
   hb_Default( @cFileXsd, "" )
   IF " <" $ cXml .OR. "> " $ cXml
      RETURN "Espaços inválidos no XML entre as tags"
   ENDIF
   IF Empty( cFileXsd )
      RETURN "OK"
   ENDIF
   IF ! File( cFileXSD )
      RETURN "Erro não encontrado arquivo " + cFileXSD
   ENDIF
   BEGIN SEQUENCE WITH __BreakBlock()
      cRetorno   := "Erro Carregando MSXML2.DomDocument.6.0"
      oXmlDomDoc := win_OleCreateObject( "MSXML2.DomDocument.6.0" )
      oXmlDomDoc:aSync            := .F.
      oXmlDomDoc:ResolveExternals := .F.
      oXmlDomDoc:ValidateOnParse  := .T.
      cRetorno   := "Erro Carregando XML"
      oXmlDomDoc:LoadXml( cXml )
      IF oXmlDomDoc:ParseError:ErrorCode <> 0
         cRetorno := "Erro XML inválido " + ;
            " Linha: "   + AllTrim( Transform( oXmlDomDoc:ParseError:Line, "" ) ) + ;
            " coluna: "  + AllTrim( Transform( oXmlDomDoc:ParseError:LinePos, "" ) ) + ;
            " motivo: "  + AllTrim( Transform( oXmlDomDoc:ParseError:Reason, "" ) ) + ;
            " errcode: " + AllTrim( Transform( oXmlDomDoc:ParseError:ErrorCode, "" ) )
         BREAK
      ENDIF
      cRetorno   := "Erro Carregando MSXML2.XMLSchemaCache.6.0"
      oXmlSchema := win_OleCreateObject( "MSXML2.XMLSchemaCache.6.0" )
      cRetorno   := "Erro carregando " + cFileXSD
      DO CASE
      CASE "mdfe" $ Lower( cFileXsd )
         oXmlSchema:Add( "http://www.portalfiscal.inf.br/mdfe", cFileXSD )
      CASE "cte"  $ Lower( cFileXsd )
         oXmlSchema:Add( "http://www.portalfiscal.inf.br/cte", cFileXSD )
      CASE "nfe"  $ Lower( cFileXsd )
         oXmlSchema:Add( "http://www.portalfiscal.inf.br/nfe", cFileXSD )
      ENDCASE
      oXmlDomDoc:Schemas := oXmlSchema
      oXmlErro := oXmlDomDoc:Validate()
      IF oXmlErro:ErrorCode <> 0
         cRetorno := "Erro: " + AllTrim( Transform( oXmlErro:ErrorCode, "" ) ) + " " + ConverteErroValidacao( oXmlErro:Reason, "" )
         BREAK
      ENDIF
      cRetorno := "OK"
   END SEQUENCE
   RETURN cRetorno
Se for qual o endereço do esocial para colocar nessa parte seria esse?
oXmlSchema:Add( "http://www.esocial.gov.br/schema/evt/ev ... /v02_04_01", cFileXSD )

Ele da a seguinte mensagem de erro:
evtInfoEmpregador.XSD#/schema/element[1][@name = 'eSocial']/complexType[1]/sequence[1]/element[2]
Elemento XSD não declarado: '{http://www.w3.org/2000/09/xmldsig#}Signature'.
: ADD
Args:
[ 1] = C http://www.esocial.gov.br/schema/evt/ev ... /v02_04_01
[ 2] = C .\SHEMA\evtInfoEmpregador.XSD

Esocial

Enviado: 15 Dez 2017 17:28
por JoséQuintas
Ele da a seguinte mensagem de erro:
evtInfoEmpregador.XSD#/schema/element[1][@name = 'eSocial']/complexType[1]/sequence[1]/element[2]
Elemento XSD não declarado: '{http://www.w3.org/2000/09/xmldsig#}Signature'.

Também não sou expert em tudo isso, mas parece que está reclamando do bloco <Signature>
Ou tem ele a mais, ou falta ele, ou falta aquele http dentro do bloco signature, ou sobra.

Esocial

Enviado: 02 Set 2022 10:00
por malcarli
Bom dia, fiz alteração na rotina do Mestre Quintas, para pegar o ws de produção (segue abaixo). Estou gravando o retorno, mas está vindo com caracteres que não deixa ler o xml. Já tentei ptiso, hb_ansitooem, trocar caracteres, xmltranform etc. Usando a classe para nfe, faço o mesmo procedimento e não tenho problema em gravar e ler o xml de retorno. Alguém teria uma solução?

Código: Selecionar todos

METHOD ConsultaRetornoLote( cChave, cCertificado ) CLASS ESocialClass

   IF cCertificado != NIL
      ::cCertificado := cCertificado
   ENDIF

 * ::cUrl          := "https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/consultarloteeventos/WsConsultarLoteEventos.svc"
   ::cUrl          := "https://webservices.consulta.esocial.gov.br/servicos/empregador/consultarloteeventos/WsConsultarLoteEventos.svc"
   ::cSOAPAction   := "http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/consulta/retornoProcessamento/v1_1_0/ServicoConsultarLoteEventos/ConsultarLoteEventos"
   ::cXmlDocumento := ;
      [<eSocial xmlns="http://www.esocial.gov.br/schema/lote/eventos/envio/consulta/retornoProcessamento/v1_0_0">] + ;
         [<consultaLoteEventos>] + ;
            [<protocoloEnvio>] + cChave + [</protocoloEnvio>] + ;
         [</consultaLoteEventos>] + ;
      [</eSocial>]
   ::cXmlEnvelope := [<?xml version="1.0" encoding="UTF-8"?>] + ;
      [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ] + ;
         [xmlns:v1="http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/consulta/retornoProcessamento/v1_1_0">] + ;
         [<soapenv:Header/>] + ;
         [<soapenv:Body>] + ;
            [<consultaLoteEventos>] + ;
               [<consulta>] + ::cXmlDocumento + [</consulta>] + ;
            [</consultaLoteEventos>] + ;
         [</soapenv:Body>] + ;
      [</soapenv:Envelope>]

   ::MicrosoftXmlSoapPost()

   RETURN ::cXmlRetorno

Esocial

Enviado: 02 Set 2022 11:47
por JoséQuintas
xml.png
Eu nem perco tempo com essas coisas.

Pela mensagem, só posso imaginar que eles indicaram uma codepage (ou nem indicaram) e colocaram texto em outra codepage.
É um XML inválido...
Corrigir XML inválido, aí é phoda, trata-se de ficar chutando.
E converter o XML.... se só o bloco está errado, vai corrigir uma coisa e estragar outra.

Pois é... o padrão é.... sem padrão kkkkk