Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

di il
91 risposte

91 Risposte - Pagina 4

  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    DevJk ha scritto:


    Qualcuno a cui funziona ha il wsdl per la produzione di 18aap? vorrei compararlo con il mio
    Ma se fino al 27 gennaio andava non è il WSDL...

    DevJk ha scritto:


    Infine in produzione che versione usate la 1.1 o la 1.2?
    Sul test funzina con la 1.1 con la 1.2 da Internal Error (from server).
    Evidentemente è attiva solo la versione 1.1 di soap da loro..
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Scoperto il problema è stato aggiornato il protollo https alla 1.2
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    DevJk ha scritto:


    Scoperto il problema è stato aggiornato il protollo https alla 1.2
    Ti ha risposto l'assistenza o ci sei arrivato facendo delle prove?
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Tramite mail all'assistenza

    occhio non confondete l'aggiornato al protollo https versione 1.2, con la vesione del client SOAP, sono 2 cose diverse...

    4c3 non mi hai risposto... non ho capio se hai anche te il problemache avevo io...
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    DevJk ha scritto:


    Tramite mail all'assistenza

    occhio quando non confondete l'aggiornato a protollo https versione 1.2, con la vesione sel client SOAP, sono 2 cose diverse...

    4c3 non mi hai risposto... non ho capio se hai anche te il problemache avevo io...
    Io non ho ancora fatto attivazione su 18app.. ma solo su cartadeldocente..
    per 18app ho solo fatto delle prove per qualcuno qui del forum..

    Dovrei mettermici appresso da qui a qualche settimana..
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Fai un fischio se hai bisogno
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Ciao, anche io sto tentando di integrare i servizi webservice di 18App/Carta del Docente
    Per 18App non ho avuto problemi ho generato proxy dal wsdl, ho scaricato ed installato il certificato e non ho avuto problemi.
    Per Carta del docente, dopo aver scaricato il certificato, alla chiamata check di autorizzazione ottengo l'errore:
    The underlying connection was closed: An unexpected error occurred on a send.
    (Authentication failed because the remote party has closed the transport stream).

    Qualcuno di voi ha avuto lo stesso errore?
    Grazie
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Ciao, come non detto, ho risolto leggendo sopra che c'era stato l'aggiornamento all' https 1.2 (TLS 1.2).
    Ho fatto delle modifiche alla chiamata e magicamente adesso funziona.

    Per chi usa .net (4.5) si usa il comando
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Ragazzi.. qualcuno riesce a girarmi la mail di assistenza per 18app o (magari) il certificato di test?

    Grazie a tutti
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    4c3 ha scritto:


    Ragazzi.. qualcuno riesce a girarmi la mail di assistenza per 18app o (magari) il certificato di test?

    Grazie a tutti
    L'email che mi ha fornito chi si occupa della Carta del Docente è .
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Il modulo per PrestaShop relativo alla Carta del Docente funziona perfettamente, ora mi è stato chiesto di farne uno per la 18app, ma riscontro vari problemi, all'email non mi hanno ancora risposto, ma sono passate solo 24 ore.

    I tecnici della Carta del Docente mi dicono che il certificato di test è identico tra le due piattaforme, ma modificando le chiamate SOAP relative, ottengo:
    object(SoapFault)[99]
      protected 'message' => string '
    Internal Error (from server)
    ' (length=30)
      private 'string' (Exception) => string '' (length=0)
      protected 'code' => int 0
    Sto usando i seguenti endpoint che ho reperito in rete:
    https://wstest.18app.italia.it/VerificaVoucherWEB/VerificaVoucher
    https://ws.18app.italia.it/VerificaVoucherWEB/VerificaVoucher

    Non ho trovato il file VerificaVoucher.wsdl per la 18app e ho provato con quello della Carta del Docente.
    Anche nel caso della 18app la guida esercente non è completa e scritta da cani, e sarebbe il MIUR
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    L'errore "Internal Error" lo da solo in ambiente di Test se provo con l'ambiente produzione ottengo:
    object(SoapFault)[99]
      protected 'message' => string 'Could not connect to host' (length=25)
      private 'string' (Exception) => string '' (length=0)
      protected 'code' => int 0
    Che è corretto non avendo il CA relativo.
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    Risolto è bastato modificare il file VerificaVoucher.wsdl della carta del docente:

    da:
    <wsdl:service name="VerificaVoucher">
        <wsdl:port binding="tns:VerificaVoucherSOAP" name="VerificaVoucherSOAP">
          <soap:address location="https://ws.cartadeldocente.istruzione.it/VerificaVoucherDocWEB/VerificaVoucher"/>
        </wsdl:port>
      </wsdl:service>
    a:
    <wsdl:service name="VerificaVoucher">
        <wsdl:port binding="tns:VerificaVoucherSOAP" name="VerificaVoucherSOAP">
          <soap:address location="https://wstest.18app.italia.it/VerificaVoucherWEB/VerificaVoucher"/>
        </wsdl:port>
      </wsdl:service>
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    4c3 ha scritto:


    Io sono felice di sapere che sono 2 mesi che contatto l'assistenza e non mi danno risposte se non "sollecito un ticket"... ma che numero chiamate voi?

    Ricapitolo brevemente la strada verso l'uso dell'ambiente di test (che ho appena fatto funzionare..)

    Si prende il certificato (gentilmente passato da lorismod) e si esegue in una shell linux:
    openssl pkcs12 -in AAAAAA00H01H501P.P12 -out AAAAAA00H01H501P.pem -clcerts
    Chiederà prima la password che SOGEI ha dato del certificato e poi una passphrase per il PEM (a scelta)

    Poi la chiamata soap va fatta come segue:
    
    function  getVocher($id){
    	$soapOpt = array('local_cert'=>'AAAAAA00H01H501P.pem',
    					 'location'=>'testServiceUrl,
    					 'stream_context'=> stream_context_create(array('ssl'=> array(
    							'verify_peer'=>false,
    							'verify_peer_name'=>false,
    							'allow_self_signed' => true 
    					 ))),
    					 'passphrase'=>'pemPassphrase');
    	$client = new SoapClient($wsdl, $soapOpt);
    	try {
    		$item = $client->Check(array("checkReq"=>array("tipoOperazione"=>"1","codiceVoucher"=>$id)));
    		$resp->beneficiario = $item->checkResp->nominativoBeneficiario;
    		$resp->pivaEsercente = $item->checkResp->partitaIvaEsercente;
    		$resp->ambito = $item->checkResp->ambito;
    		$resp->bene = $item->checkResp->bene;
    		$resp->importo = $item->checkResp->importo;
    	} catch (Exception $s) {
    		if ($s->detail){
    			$resp->esito->code($s->detail->FaultVoucher->exceptionCode);
    			$resp->esito->message($s->detail->FaultVoucher->exceptionMessage);
    		} else {
    			$resp->esito->code($s->faultcode);
    			$resp->esito->message($s->faultstring);
    		}
    	}	
    	return $resp;
    }	
    
    La parte di chiamata
    					 'stream_context'=> stream_context_create(array('ssl'=> array(
    							'verify_peer'=>false,
    							'verify_peer_name'=>false,
    							'allow_self_signed' => true 
    					 ))),
    
    non va riportata in produzione perchè l'ambiente di test ha un certificato non valido

    Ringrazio l'assistenza SOGEI per essere stata esaustiva nel risolvere prontamente le mie richieste di assistenza

    Seriamente.... Vi ringazio per la collaborazione non sarei riuscito a venirne fuori da solo!

    Ciao a tutti e grazie per il supporto fondamentale
    qualcuno potrebbe girare il certificato e la password dell'ambiente di test? Dall'assistenza CD è praticamente impossibile ricevere informazioni utili.

    Tra le altre cose il numero verde SOGEI per l'assistenza 800.863119 è momentaneamente sospeso
  • Re: Errore Client SOAP Request/Response in PHP (Carta del Docente e 18app)

    g.tronca ha scritto:


    4c3 ha scritto:


    Io sono felice di sapere che sono 2 mesi che contatto l'assistenza e non mi danno risposte se non "sollecito un ticket"... ma che numero chiamate voi?

    Ricapitolo brevemente la strada verso l'uso dell'ambiente di test (che ho appena fatto funzionare..)

    Si prende il certificato (gentilmente passato da lorismod) e si esegue in una shell linux:
    openssl pkcs12 -in AAAAAA00H01H501P.P12 -out AAAAAA00H01H501P.pem -clcerts
    Chiederà prima la password che SOGEI ha dato del certificato e poi una passphrase per il PEM (a scelta)

    Poi la chiamata soap va fatta come segue:
    
    function  getVocher($id){
    	$soapOpt = array('local_cert'=>'AAAAAA00H01H501P.pem',
    					 'location'=>'testServiceUrl,
    					 'stream_context'=> stream_context_create(array('ssl'=> array(
    							'verify_peer'=>false,
    							'verify_peer_name'=>false,
    							'allow_self_signed' => true 
    					 ))),
    					 'passphrase'=>'pemPassphrase');
    	$client = new SoapClient($wsdl, $soapOpt);
    	try {
    		$item = $client->Check(array("checkReq"=>array("tipoOperazione"=>"1","codiceVoucher"=>$id)));
    		$resp->beneficiario = $item->checkResp->nominativoBeneficiario;
    		$resp->pivaEsercente = $item->checkResp->partitaIvaEsercente;
    		$resp->ambito = $item->checkResp->ambito;
    		$resp->bene = $item->checkResp->bene;
    		$resp->importo = $item->checkResp->importo;
    	} catch (Exception $s) {
    		if ($s->detail){
    			$resp->esito->code($s->detail->FaultVoucher->exceptionCode);
    			$resp->esito->message($s->detail->FaultVoucher->exceptionMessage);
    		} else {
    			$resp->esito->code($s->faultcode);
    			$resp->esito->message($s->faultstring);
    		}
    	}	
    	return $resp;
    }	
    
    La parte di chiamata
    					 'stream_context'=> stream_context_create(array('ssl'=> array(
    							'verify_peer'=>false,
    							'verify_peer_name'=>false,
    							'allow_self_signed' => true 
    					 ))),
    
    non va riportata in produzione perchè l'ambiente di test ha un certificato non valido

    Ringrazio l'assistenza SOGEI per essere stata esaustiva nel risolvere prontamente le mie richieste di assistenza

    Seriamente.... Vi ringazio per la collaborazione non sarei riuscito a venirne fuori da solo!

    Ciao a tutti e grazie per il supporto fondamentale
    qualcuno potrebbe girare il certificato e la password dell'ambiente di test? Dall'assistenza CD è praticamente impossibile ricevere informazioni utili.

    Tra le altre cose il numero verde SOGEI per l'assistenza 800.863119 è momentaneamente sospeso

    Mandami in mp il tuo indirizzo mail, ti giro i certificati
Devi accedere o registrarti per scrivere nel forum
91 risposte