Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Autoridade Tributaria - Problemas na comunicação Webservie

$
0
0
Já tentei usar o código do utilizador eskiso.
Primeiro pensei que era o meu servidor a bloquear o pedido. Da me a sensação que o pedido não é feito de todo.
Não importa se faço para o 401 ou para o 701 o erro é sempre o mesmo.

Tenho o seguinte erro ao tentar conectar webservice:
Unknown SSL protocol error in connection to servicos.portaldasfinancas.gov.pt:701 35

Já tentei várias versões do código e nunca:

Código :
<?php
$SoapAction = "https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte/";
//$SoapAction = "https://servicos.portaldasfinancas.gov.pt:401/sgdtws/documentosTransporte/";
$Action = "https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte";
//Action = "https://servicos.portaldasfinancas.gov.pt:401/sgdtws/documentosTransporte";
$cert_pem = 'pfxcert.pem'; //Caminho completo para o pfxcert.pem ou so o nome se estiver na mesma pasta
$key_pem  = 'pfxKey.pem'; //Caminho completo para o pfxKey.pem ou so o nome se estiver na mesma pasta
$pass_cert = 'TESTEwebservice';
 $curl = curl_init(trim($Action));

                            curl_setopt($curl, CURLOPT_FRESH_CONNECT, TRUE);
                            curl_setopt($curl, CURLOPT_HTTPHEADER,array(
                                            'Content-Type:text/xml;Charset=UTF-8',
                                            'Accept: text/xml',
                                            'Cache-Control: no-cache',
                                            'SoapAction='.$SoapAction
                            ));
                            curl_setopt($curl, CURLOPT_URL, trim($Action));
                            curl_setopt($curl, CURLOPT_SSLVERSION, 3);
                            curl_setopt($curl, CURLOPT_VERBOSE, TRUE); // para ver o que se passa...
                            curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE);
                            curl_setopt($curl, CURLOPT_POST, 1);
                            //curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);
                            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
                            curl_setopt($curl, CURLOPT_SSLCERT, $cert_pem); // o certificado em formato PEM (.pem)
                            curl_setopt($curl, CURLOPT_SSLCERTTYPE, 'PEM');
                            curl_setopt($curl, CURLOPT_SSLCERTPASSWD, $pass_cert);
                            curl_setopt($curl, CURLOPT_SSLKEY, $key_pem);
                            curl_setopt($curl, CURLOPT_SSLKEYPASSWD, $pass_cert);
                            curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
                            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
                            $response = curl_exec($curl);
                            $info = curl_getinfo($curl);
                            print_r( $response );
                            print_r( $info );

            if (FALSE === $response) {
                print_r( curl_error($curl) );
                print_r( curl_errno($curl) );
            }


(tirei propositadamente o $xml do código mas não importa dá sempre o mesmo erro)

Agradecia de saber se alguém tem solução para este problema que pudesse ajudar mesmo resolver o problema pagando. Mas precisava mesmo de saber qual o problema e solução.

Desde já muito obrigado.

Viewing all articles
Browse latest Browse all 14700