Come creare un file .der?

di il
64 risposte

64 Risposte - Pagina 2

  • Re: Come creare un file .der?

    4c3 ha scritto:


    Si col codice che ti ho messo nel post precedente fai l'attivazione...
    Fa sorridere... e parecchio...
    Mi puoi rigirare lo script che provo, in quanto ricevo solo:
    object(SoapFault)#2 (9) { ["message":protected]=> string(33) "Rejected by policy. (from client)" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line":protected]=> int(16) ["trace":"Exception":private]=> array(2) { [0]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line"]=> int(16) ["function"]=> string(6) "__call" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(2) { [0]=> string(5) "Check" [1]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(2) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" } } } } } [1]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line"]=> int(16) ["function"]=> string(5) "Check" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(2) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" } } } } } ["previous":"Exception":private]=> NULL ["faultstring"]=> string(33) "Rejected by policy. (from client)" ["faultcode"]=> string(10) "env:Client" }
    In realtà ho fatto disabilitare le API al cliente che si è messo come negozio fisico, per permettergli di gestire manualmente, perché incredibilmente anche in esercizio misto, fino a quando non si esegue questa procedura di attivazione sembra impossibile validare i buoni manualmente.

    P.S. mettendo l'abiente di test rivevo in più
    object(SoapFault)#2 (9) { ["message":protected]=> string(25) "Could not connect to host"
  • Re: Come creare un file .der?

    Dopo una piccola correzione la risposta che ricevo è:
    array(2) { [0]=> string(51) "CheckResponseObj Check(CheckRequestObj $parameters)" [1]=> string(57) "ConfirmResponseObj Confirm(ConfirmRequestObj $parameters)" } array(8) { [0]=> string(92) "struct Check { string tipoOperazione; string codiceVoucher; string partitaIvaEsercente; }" [1]=> string(132) "struct CheckResponse { string nominativoBeneficiario; string partitaIvaEsercente; string ambito; string bene; double importo; }" [2]=> string(82) "struct Confirm { string tipoOperazione; string codiceVoucher; double importo; }" [3]=> string(41) "struct ConfirmResponse { string esito; }" [4]=> string(43) "struct CheckRequestObj { Check checkReq; }" [5]=> string(53) "struct CheckResponseObj { CheckResponse checkResp; }" [6]=> string(47) "struct ConfirmRequestObj { Confirm checkReq; }" [7]=> string(57) "struct ConfirmResponseObj { ConfirmResponse checkResp; }" } object(SoapFault)#2 (9) { ["message":protected]=> string(33) "Rejected by policy. (from client)" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line":protected]=> int(19) ["trace":"Exception":private]=> array(2) { [0]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line"]=> int(19) ["function"]=> string(6) "__call" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(2) { [0]=> string(5) "Check" [1]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(2) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" } } } } } [1]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxxx.eu/httpdocs/test.php" ["line"]=> int(19) ["function"]=> string(5) "Check" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(2) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" } } } } } ["previous":"Exception":private]=> NULL ["faultstring"]=> string(33) "Rejected by policy. (from client)" ["faultcode"]=> string(10) "env:Client" }
  • Re: Come creare un file .der?

    Riepilogo i passi da fare... tu hai ottenuto il P12... quindi devi convertirlo in PEM per ottenere il certificato da usare per l'autenticazione..
    lo fai con:
    openssl pkcs12 -in supplied_cert.p12 -out php_soap_cert.pem -clcerts
    Poi.. fai un php fatto come questo:
    Ovviamente il .pem e il wsdl devono stare sotto la stessa cartella del file php (oppure indichi dei path diversi)
    
    	$wsdl = "VerificaVoucher.wsdl";
    	$local_cert = "./php_soap.pem";
    	$location = "https://ws.cartadeldocente.istruzione.it/VerificaVoucherDocWEB/VerificaVoucher";
    	$soapClient = new SoapClient($wsdl, array(
            						"local_cert"  => $local_cert, 
    							"location"	=> $location,
    							"passphrase"	=> [b]<latuapassphrase>[/b]
    	));
    	$theResponse = $soapClient->Check(array("checkReq"=>array("tipoOperazione"=>"1","codiceVoucher"=>"11aa22bb","partitaIvaEsercente"=>[b]<partitaIVAEsercente>[/b])));
    	var_dump($theResponse);
    
    Così a me ha funzionato al primo colpo.
  • Re: Come creare un file .der?

    4c3 ha scritto:


    Fa sorridere... e parecchio...
    A me fa un po' incazzare, è dai primi di Novembre che fanno i professorini e poi
    Non sono solo le virgolette che avevano sbagliato sulla documentazione, ma l'URL è completamente diverso:
    Documentazione precedente:
    https://ws.”cartadeldocente”.italia.it/VerificaBuonoWEB/VerificaBuono
    Documentazione attuale:
    https://ws.cartadeldocente.istruzione.it/VerificaVoucherDocWEB/VerificaVoucher

    Oltre ovviaamente alla comparsa del file "VerificaVoucher.wsdl" senza il quale era inutile procedere.

    Si vede che quando mi sono incavolato dicendolgi che la loro documentazione era una burla, qualche effetto ha sortito.
  • Re: Come creare un file .der?

    lorismod ha scritto:


    4c3 ha scritto:


    Fa sorridere... e parecchio...
    A me fa un po' incazzare, è dai primi di Novembre che fanno i professorini e poi
    Non sono solo le virgolette che avevano sbagliato sulla documentazione, ma l'URL è completamente diverso:
    Documentazione precedente:
    https://ws.”cartadeldocente”.italia.it/VerificaBuonoWEB/VerificaBuono
    Documentazione attuale:
    https://ws.cartadeldocente.istruzione.it/VerificaVoucherDocWEB/VerificaVoucher

    Oltre ovviaamente alla comparsa del file "VerificaVoucher.wsdl" senza il quale era inutile procedere.

    Si vede che quando mi sono incavolato dicendolgi che la loro documentazione era una burla, qualche effetto a sortito.
    Io sorrido per isteria (credo..) mi sono incazzato anche io diverse volte...
  • Re: Come creare un file .der?

    4c3 ha scritto:


    Riepilogo i passi da fare... tu hai ottenuto il P12... quindi devi convertirlo in PEM per ottenere il certificato da usare per l'autenticazione..
    lo fai con:
    openssl pkcs12 -in supplied_cert.p12 -out php_soap_cert.pem -clcerts
    Poi.. fai un php fatto come questo:
    Ovviamente il .pem e il wsdl devono stare sotto la stessa cartella del file php (oppure indichi dei path diversi)
    
    	$wsdl = "VerificaVoucher.wsdl";
    	$local_cert = "./php_soap.pem";
    	$location = "https://ws.cartadeldocente.istruzione.it/VerificaVoucherDocWEB/VerificaVoucher";
    	$soapClient = new SoapClient($wsdl, array(
            						"local_cert"  => $local_cert, 
    							"location"	=> $location,
    							"passphrase"	=> [b]<latuapassphrase>[/b]
    	));
    	$theResponse = $soapClient->Check(array("checkReq"=>array("tipoOperazione"=>"1","codiceVoucher"=>"11aa22bb","partitaIvaEsercente"=>[b]<partitaIVAEsercente>[/b])));
    	var_dump($theResponse);
    
    Così a me ha funzionato al primo colpo.
    Fatto ho pure rigenerato il file .pem
    Ora però ricevo l'errore:
    
    PHP Fatal error: Uncaught SoapFault exception: [soapenv:Server] it.finanze.verificavoucher.fault.FaultVoucher in /var/www/vhosts/sale.xxxxx.eu/httpdocs/test.php:10\nStack trace:\n#0 /var/www/vhosts/sale.xxxxx.eu/httpdocs/test.php(10): SoapClient->__call('Check', Array)\n#1 /var/www/vhosts/sale.xxxxx.eu/httpdocs/test.php(10): SoapClient->Check(Array)\n#2 {main}\n thrown in /var/www/vhosts/sale.xxxxx.eu/httpdocs/test.php on line 10\n'
    
    Purtroppo non so se adesso che il cliente ha disabilitato le API e si è messo come negozio fisico sia abilitato comunque, l'essenza di documentazione, e ambiente di test serio è snervante, ho impiegato meno a implementare le API di paypal o banca sella.
  • Re: Come creare un file .der?

    Può essere che disattivando le API tu non riesca più ad accedere ai WS

    per vedere che errore è

    puoi sostituire il $theResult=$soapClient.....

    con una
    try {
              $result = $soapClient->Check(array("checkReq"=>array("tipoOperazione"=>"1","codiceVoucher"=>"11aa22bb")));
       } catch(Exception $e) {
              var_dump($e);
       } 
       
    in fondo dovrebbe esserci un oggetto che contiene le proprietà errorCode ed errorMsg.
    i valori sono descritti nella documentazione
  • Re: Come creare un file .der?

    Grazie, ho fatto due altri tentativi mi restituisce ora:
    
    object(SoapFault)#4 (10) { ["message":protected]=> string(45) "it.finanze.verificavoucher.fault.FaultVoucher" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line":protected]=> int(15) ["trace":"Exception":private]=> array(2) { [0]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line"]=> int(15) ["function"]=> string(6) "__call" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(2) { [0]=> string(5) "Check" [1]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(3) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" ["partitaIvaEsercente"]=> string(11) "0XXXX131214" } } } } } [1]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line"]=> int(15) ["function"]=> string(5) "Check" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(3) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" ["partitaIvaEsercente"]=> string(11) "0XXXX131214" } } } } } ["previous":"Exception":private]=> NULL ["faultstring"]=> string(45) "it.finanze.verificavoucher.fault.FaultVoucher" ["faultcode"]=> string(14) "soapenv:Server" ["detail"]=> object(stdClass)#2 (1) { ["FaultVoucher"]=> object(stdClass)#3 (2) { ["exceptionCode"]=> string(2) "03" ["exceptionMessage"]=> string(127) "Impossibile attivare l'esercente. Verificare che i dati siano corretti e che l'esercente non sia stato precedentemente attivato" } } } NULL
    
    Ora al meno mi restituisce un "Impossibile attivare l'esercente. Verificare che i dati siano corretti e che l'esercente non sia stato precedentemente attivato". L'importante ora è avere gli URL corretti e la sicurezza che la procedura che stavo provando era corretta
  • Re: Come creare un file .der?

    lorismod ha scritto:


    Grazie, ho fatto due altri tentativi mi restituisce ora:
    
    object(SoapFault)#4 (10) { ["message":protected]=> string(45) "it.finanze.verificavoucher.fault.FaultVoucher" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line":protected]=> int(15) ["trace":"Exception":private]=> array(2) { [0]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line"]=> int(15) ["function"]=> string(6) "__call" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(2) { [0]=> string(5) "Check" [1]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(3) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" ["partitaIvaEsercente"]=> string(11) "0XXXX131214" } } } } } [1]=> array(6) { ["file"]=> string(57) "/var/www/vhosts/sale.xxxx.eu/httpdocs/test.php" ["line"]=> int(15) ["function"]=> string(5) "Check" ["class"]=> string(10) "SoapClient" ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> array(1) { ["checkReq"]=> array(3) { ["tipoOperazione"]=> string(1) "1" ["codiceVoucher"]=> string(8) "11aa22bb" ["partitaIvaEsercente"]=> string(11) "0XXXX131214" } } } } } ["previous":"Exception":private]=> NULL ["faultstring"]=> string(45) "it.finanze.verificavoucher.fault.FaultVoucher" ["faultcode"]=> string(14) "soapenv:Server" ["detail"]=> object(stdClass)#2 (1) { ["FaultVoucher"]=> object(stdClass)#3 (2) { ["exceptionCode"]=> string(2) "03" ["exceptionMessage"]=> string(127) "Impossibile attivare l'esercente. Verificare che i dati siano corretti e che l'esercente non sia stato precedentemente attivato" } } } NULL
    
    Ora al meno mi restituisce un "Impossibile attivare l'esercente. Verificare che i dati siano corretti e che l'esercente non sia stato precedentemente attivato". L'importante ora è avere gli URL corretti e la sicurezza che la procedura che stavo provando era corretta
    Gli endpoints sono corretti... credo che funzioni così... se il voucher è buono ti restiuisce un oggetto con i dati del beneficiario.
    altrimenti devi gestire l'errore come abbiamo fatto ora e restituire l'exceptionCode e l'exceptionMessage.

    Se ad esempio, prendi dalla documentazione, il voucher che utilizzano nell'allegato tecnico 1, ti darà l'errore "il voucher non esiste"...

    Io sono in attesa di ricevere dai commerciali qualche voucher "reale" visto che l'ambiente di test (https://wstes......) non è utilizzabile

    Nel caso ci si aggiorna...
  • Re: Come creare un file .der?

    4c3 ha scritto:


    Nel caso ci si aggiorna...
    Credo pure io che ora sia corretto, una volta avuto gli URL corretti, e il file .wsdl la cosa è abbastanza chiara, ovviamnete senza abiente di test o buoni di test è un po' dura fare prove. Sarebbe comodo avere da parte di SOGEI dei buoni con cui effettuare dei TEST uno per ogni stato di ritorno. Un po' come capita con i pos delle carte di credito. Ma credo che sia chiedere troppo.
  • Re: Come creare un file .der?

    4c3 ha scritto:



    Io sono in attesa di ricevere dai commerciali qualche voucher "reale" visto che l'ambiente di test (https://wstes......) non è utilizzabile

    Nel caso ci si aggiorna...
    Alla domanda se ci sono voucher da usare come test rispondono così:
    I voucher da utilizzare in test sono:

    S3LbCkoB
    H7LXL7QI
    A7GsoVL4
    4QpiY9vc
    gDeYN5Aw
    KnzuLPvq
    D9C5MEKm
    6S4SqpMv
    inkujfJn
    k6q0n7Qm

    Non indicano il valore o lo stato... ma è già qualcosa.
  • Re: Come creare un file .der?

    Ma da usare in che ambiente?

    https://ws.cartadeldocent....
    o
    https://wstest.cartadeldocent....

    (io ho chiesto assistenza perchè l'ambiente di test non va e ho trovato una che mi ha detto "i voucher si attivano solo dal nostro sito...")
  • Re: Come creare un file .der?

    4c3 ha scritto:


    Ma da usare in che ambiente?
    https://ws.cartadeldocent....
    o
    https://wstest.cartadeldocent....
    (io ho chiesto assistenza perchè l'ambiente di test non va e ho trovato una che mi ha detto "i voucher si attivano solo dal nostro sito...")
    Non l'hanno specificato e comunque li ho provati e danno come esito:
    exceptionCode: 02
    e come exceptionMessage: Il buono richiesto non risulta disponibile sul sistema. Potrebbe essere stato riscosso o annullato
    Stessa cosa se si inventano di sana pianta. Ne ho chiesto conferma nuovamente a SOGEI
    wstest mi risponde sempre con errore di connessione

    Ho dei buoni reali, che i docenti hanno generato come online al posto che come esercizio fisico che per assurdo sono boni diversi e non incassabili manualmente (Non l'hanno specificato, e comunque li ho provati e danno come esito:
    exceptionCode: 02
    e come exceptionMessage: Il buono richiesto non risulta disponibile sul sistema. Potrebbe essere stato riscosso o annullato
    Stessa cosa se si inventano di sana pianta. Ne ho chiesto conferma nuovamente a SOGEI
    wstest mi risponde sempre con errore di connessione.

    Ho dei buoni reali, che i docenti hanno generato come online al posto che come esercizio fisico che per assurdo sono buoni diversi e non incassabili manualmente (assurdità delle assurdità). Ma ovviamente così alla cieca non li posso provare e comunque ai clienti è già stato chiesto di cancellarli. L'assenza dei documentazione, buoni di prova e ambiente di test mi impedisce di procedere se creo il modulo senza fare del buon debunking su un ecommece che riceverebbe subito una 30entina di ordini farei un danno non da poco.

    Se SOGEI non corre ai ripari o non da documentazione l'unica soluzione è mettersi d'accordo con un docente per usare buoni reali e ambiente reale.
    Impensabile farlo direttamente sulla pelle dei clienti altrimenti.
  • Re: Come creare un file .der?

    SOGEI mi ha risposto nuovamente sui buoni test, a loro risultano attivi, ma il test dallo screenshot l'hanno fatto su wstest.
    Ho chiesto loro se l'accesso deve avvenire a questo punto con credenziali diverse, in quanto con quelle dell'esercente a wstest non si accede e se esiste un CA e un P.IVA di test senza che debba usare quella dell'esercente per effettuare tutte le prove.

    Comunque i buoni hanno solo 8 caratteri e sono formati da solo lettere maiuscole e minuscole e numeri, in un eventuale modulo di convalida è meglio mettere un timer dopo tot tentativi non adati a buon fine altrimenti si richia che li generino falsi. Alla luce dell'analisi del sistema attuale, ho il forte sospetto prima o poi cambino tutto.
  • Re: Come creare un file .der?

    lorismod ha scritto:


    4c3 ha scritto:


    Ma da usare in che ambiente?
    https://ws.cartadeldocent....
    o
    https://wstest.cartadeldocent....
    (io ho chiesto assistenza perchè l'ambiente di test non va e ho trovato una che mi ha detto "i voucher si attivano solo dal nostro sito...")
    Non l'hanno specificato e comunque li ho provati e danno come esito:
    exceptionCode: 02
    e come exceptionMessage: Il buono richiesto non risulta disponibile sul sistema. Potrebbe essere stato riscosso o annullato
    Stessa cosa se si inventano di sana pianta. Ne ho chiesto conferma nuovamente a SOGEI
    wstest mi risponde sempre con errore di connessione

    Ho dei buoni reali, che i docenti hanno generato come online al posto che come esercizio fisico che per assurdo sono boni diversi e non incassabili manualmente (Non l'hanno specificato, e comunque li ho provati e danno come esito:
    exceptionCode: 02
    e come exceptionMessage: Il buono richiesto non risulta disponibile sul sistema. Potrebbe essere stato riscosso o annullato
    Stessa cosa se si inventano di sana pianta. Ne ho chiesto conferma nuovamente a SOGEI
    wstest mi risponde sempre con errore di connessione.

    Ho dei buoni reali, che i docenti hanno generato come online al posto che come esercizio fisico che per assurdo sono buoni diversi e non incassabili manualmente (assurdità delle assurdità). Ma ovviamente così alla cieca non li posso provare e comunque ai clienti è già stato chiesto di cancellarli. L'assenza dei documentazione, buoni di prova e ambiente di test mi impedisce di procedere se creo il modulo senza fare del buon debunking su un ecommece che riceverebbe subito una 30entina di ordini farei un danno non da poco.

    Se SOGEI non corre ai ripari o non da documentazione l'unica soluzione è mettersi d'accordo con un docente per usare buoni reali e ambiente reale.
    Impensabile farlo direttamente sulla pelle dei clienti altrimenti.
    Sono d'accordo con te... anche io sto cercando di avere dei buoni reali.. anche da pochi euro da poter adibire a "test"...
    Tu almeno hai avuto fortuna e hai parlato con qualcuno che conosce l'ambiente dei web service oltre a quello on line loro... Mi domando in Amazon come fanno (ho visto dal loro sito che convertono i vouchers in buoni amazon... ho il dubbio che lo facciano a manina..)
Devi accedere o registrarti per scrivere nel forum
64 risposte