Estou implementando mensageria com eSocial para envio dos eventos através do webservice do mesmo. Já fiz o algorítimo pra gerar e assinar o XML, comecei a fazer o envio mais travei, não consigo avançar, consigo até me comunicar com o eSocial mas esse retorno erro, abaixo o código, quem já tiver algo e puder me passar agradeço.
Esse código gera o retorno do eSocial:
Resposta: stdClass Object ( [EnviarLoteEventosResult] => stdClass Object ( [any] => 403Lote Incorreto - Versão do Schema não permitida.608Versão do lote não é válida. Versões válidas: v1.1.1 - namespace: http://www.esocial.gov.br/schema/lote/eventos/envio/v1_1_11 ) )
<?php
$wsdl = "https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc?singleWsdl";
// Parâmetros de contexto do stream para a conexão com o certificado digital
$contextOptions = array(
'ssl' => array(
'local_cert' => $certificadoPath,
'passphrase' => $certificadoSenha,
'verify_peer' => false,
'allow_self_signed' => true,
)
);
// Criar contexto de stream
$context = stream_context_create($contextOptions);
// Criar cliente SOAP com opções específicas
$options = array(
'stream_context' => $context,
'cache_wsdl' => WSDL_CACHE_NONE,
'trace' => true, // Para rastrear a requisição/resposta
);
try {
$client = new SoapClient($wsdl, $options);
$eventoXML = '
<?xml version="1.0" encoding="UTF-8" ?>
<eSocial xmlns="http://www.esocial.gov.br/schema/evt/evtMonit/v_S_01_02_00">
<evtMonit Id="ID1999999999999992024090308371800001">
<ideEvento>
<indRetif>1</indRetif>
<tpAmb>1</tpAmb>
<procEmi>1</procEmi>
<verProc>2024.03</verProc>
</ideEvento>
<ideEmpregador>
<tpInsc>1</tpInsc>
<nrInsc>xxxxxx</nrInsc>
</ideEmpregador>
<ideVinculo>
<cpfTrab>25267631850</cpfTrab>
<matricula>7010</matricula>
</ideVinculo>
<exMedOcup>
<tpExameOcup>9</tpExameOcup>
<aso>
<dtAso>2024-08-08</dtAso>
<resAso>1</resAso>
<exame>
<dtExm>2024-08-08</dtExm>
<procRealizado>0281</procRealizado>
<obsProc></obsProc>
<ordExame>2</ordExame>
<indResult></indResult>
</exame>
<exame>
<dtExm>2024-08-08</dtExm>
<procRealizado>0295</procRealizado>
<obsProc></obsProc>
<ordExame>2</ordExame>
<indResult></indResult>
</exame>
<medico>
<nmMed>xxxxxxxx</nmMed>
<nrCRM>xxxxx</nrCRM>
<ufCRM>SP</ufCRM>
</medico>
</aso>
<respMonit>
<cpfResp>xxxxxx</cpfResp>
<nmResp>xxxxx</nmResp>
<nrCRM>xxxx</nrCRM>
<ufCRM>SP</ufCRM>
</respMonit>
</exMedOcup>
</evtMonit>
<! aqui tenho a assinatuira com certificado digital já verificado -->
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
</eSocial>';
// Chamando o método SOAP para envio do evento
$response = $client->enviarloteeventos($eventoXML);
// Ver resposta
echo "Resposta: ";
print_r($response);
} catch (SoapFault $fault) {
// Caso ocorra erro
echo "Erro: {$fault->faultcode}, {$fault->faultstring}";
}
?>