HJ
Conexão com WebService(eSocial) - SOAPCLIENT/WSDL
Pessoal,
Boa noite,
Estou tentando criar uma conexão com o Webservice do eSocial, porém não estou conseguindo.
Tenho o seguinte código:
<?
openssl_pkcs12_read($arquivo_cert, $certificado, 'xxxxxx')
$xml_assinado = $xml_dados;
$arquivo_wsdl = 'arquivos\certificados\WsEnviarLoteEventos-v1_1_0.wsdl';
$location = 'https://webservices.producaorestrita.esocial.gov.br'; // url HOMOLOGAÇÃO
// instancia cliente SOAP
$client = new soapClient($arquivo_wsdl , array('location' => $location,
'local_cert' => $certificado, //vai o arquivo do certificado digital com a chave privada
'passphrase' => $senha_cert, // senha da chave privada
'trace' => 1, //configuração não obrigatória
'keep_alive' => true, //configuração não obrigatória
'cache_wsdl' => WSDL_CACHE_NONE, //configuração não obrigatória
'soap_version' => SOAP_1_1, // versao do soap, pode ser a 1_2
'encoding' =>'UTF-8'));
$function = 'EnviarLoteEventos';
$args = array('EnviarLoteEventos' => 'loteEventos', 'loteEventos' => $xml_assinado);
$response = $client->__soapCall($function, $args);
var_dump($response);
?>
Desta forma, estou recebendo a seguinte msg: Call error: Method Not Allowed
Se eu mudo a $location para:
$location = 'https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc';
A mensagem é: "Forbidden"
Na documentação do eSocial para os desenvolvedores, a url informada é esta maior, porém o erro "forbidden" não me dá dicas para "caçar" o problema.
Alguém já pegou este problema? Como posso fazer para entender o que está acontecendo?
Obs1: Estou usando um certificado que já é utilizado para este mesmo processo em outro sistema, portanto tenho certeza que é um certificado válido.
Obs2: Existe uma "cadeia" de certificados"(são 3) que precisam ser instalados na máquina e isto já foi realizado.
Boa noite,
Estou tentando criar uma conexão com o Webservice do eSocial, porém não estou conseguindo.
Tenho o seguinte código:
<?
openssl_pkcs12_read($arquivo_cert, $certificado, 'xxxxxx')
$xml_assinado = $xml_dados;
$arquivo_wsdl = 'arquivos\certificados\WsEnviarLoteEventos-v1_1_0.wsdl';
$location = 'https://webservices.producaorestrita.esocial.gov.br'; // url HOMOLOGAÇÃO
// instancia cliente SOAP
$client = new soapClient($arquivo_wsdl , array('location' => $location,
'local_cert' => $certificado, //vai o arquivo do certificado digital com a chave privada
'passphrase' => $senha_cert, // senha da chave privada
'trace' => 1, //configuração não obrigatória
'keep_alive' => true, //configuração não obrigatória
'cache_wsdl' => WSDL_CACHE_NONE, //configuração não obrigatória
'soap_version' => SOAP_1_1, // versao do soap, pode ser a 1_2
'encoding' =>'UTF-8'));
$function = 'EnviarLoteEventos';
$args = array('EnviarLoteEventos' => 'loteEventos', 'loteEventos' => $xml_assinado);
$response = $client->__soapCall($function, $args);
var_dump($response);
?>
Desta forma, estou recebendo a seguinte msg: Call error: Method Not Allowed
Se eu mudo a $location para:
$location = 'https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc';
A mensagem é: "Forbidden"
Na documentação do eSocial para os desenvolvedores, a url informada é esta maior, porém o erro "forbidden" não me dá dicas para "caçar" o problema.
Alguém já pegou este problema? Como posso fazer para entender o que está acontecendo?
Obs1: Estou usando um certificado que já é utilizado para este mesmo processo em outro sistema, portanto tenho certeza que é um certificado válido.
Obs2: Existe uma "cadeia" de certificados"(são 3) que precisam ser instalados na máquina e isto já foi realizado.
Postando novamente o código: