Purtroppo con wstest riscontro lo stesso problema solo l’ambiente di produzione funziona, ho chiesto a docenti@sogei.it informazioni, ma come sempre non rispondono proprio.
Mi correggo, dopo aver rigenerato il CA e caricato il nuovo WSDL, riavviando sul server il servizio PHP ha funzionato correttamente anche wstest.
L’unica differenza rispetto all’endpoint di produzione è che passo alla chiamata SOAP per wtest i parametri:
‘verify_peer’=>false,
‘verify_peer_name’=>false,
‘allow_self_signed’ => true
Marcs84
(Marco Casaburi)
30 Ottobre 2024, 4:10pm
86
Ciao @Loris_Modena ,
grazie per la risposta.
Gentilmente potrestri condividere il tuo WSDL e i passi per rigenerare il CA di test?
Ti ringrazio anticipatamente
mz2p15
(Aldo Franco Zumaran Orefice)
22 Novembre 2024, 2:10pm
88
Salve, io sto provando a fare l’attivazione
però ho l’errore Could not connect to host
Il wsdl che sto usando è quello condiviso di @albertodega Verifica voucher insegnanti 2024 WSDL - Pastebin.com
$wsdl = storage_path('VerificaVoucher.wsdl') ;
$endpoint = 'https://ws.cartadeldocente.istruzione.it/VerificaVoucherDocWEB/VerificaVoucher';
$certificate = storage_path('certificato.pem');
$password = 'password';
$partitaIva = 'piva';
$options = [
'location' => $endpoint,
'local_cert' => $certificate,
'passphrase' => $password,
'cache_wsdl' => WSDL_CACHE_NONE,
'trace' => 1,
'stream_context' => stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)))
];
$client = new SoapClient($wsdl, $options);
try {
$result = $client->Check(array(
'checkReq' => array(
'tipoOperazione' => '1',
'codiceVoucher' => '11aa22bb',
'partitaIvaEsercente' => $partitaIva
)
));
$result = json_decode(json_encode($result), true);
Log::info($result);
} catch (SoapFault $e) {
throw new \Exception('SOAP Fault: ' . $e->getMessage());
} catch (Exception $e) {
throw new \Exception('Richiesta SOAP fallita: ' . $e);
} finally {
Log::info("Response:\n" . $client->__getLastResponse() . "\n");
}
dd($result);
}