nfephp-org / sped-common

Classes comuns usadas nas atividades e classes das API's de NFe, CTe e MDFe
Other
97 stars 121 forks source link

Definir CURL_HTTP_VERSION_1_1 caso for NULL #248

Closed guicalabria closed 3 years ago

guicalabria commented 3 years ago

Em um servidor encontrei o problema HTTP_1_1_REQUIRED (err 13). Descrito em https://github.com/nfephp-org/sped-common/blob/master/docs/Soap/SoapCurl.md Não encontrei como deixar como padrão o CURL_HTTP_VERSION_1_1 no nfephp, conforme alterei no código caso seja NULL. No stdClass da configuração alguma opção para isso?

robmachado commented 3 years ago

Guilherme ! Eu ajustei a classe para usar como padrão CURL_HTTP_VERSION_NONE o deixa o cURL decidir que protocolo HTTP ele deve usar. Normalmente quando o webservice é bem feito, essa informação é passada no handshake da comunicação. Nos casos em que o webservice foi mal configurado e essa informação não existir, pode ser forçado o uso de um dos protocolos pelo método httpVersion($version) onde pode ser passadas as strings '1.0', '1.1' ou '2.0'. Para acessar esses métodos a classe SoapCurl deve ser carregada antes da classe Tools e injetada nela pelo método $tools->loadSoapClass($soap) Outro detalhe não é aceito if sem {} !!