Ho fatto un sito WebForm di esempio per testare un servizio Rest da invocare nella mia applicazione e funziona tutto.

Quando invece provo a fare l'invocazione da postman chiamando un controller in cui inserisco lo stesso codice della pagina aspx di test, mi restituisce:

Richiesta annullata: Impossibile creare un canale sicuro SSL/TLS

Questo il codice nel controller:

    public class ParamController : ApiController
    {
        [HttpPost]
        [Route("doLoginExt")]
        public HttpResponseMessage doLoginExt([FromUri]string istituto, string password)
        {
            
            WebRequest request = WebRequest.Create("https://....servizio..../pagina.php?parametri=aaa,bbb,ccc&metodoRest=doLogin");
            
            request.Credentials = CredentialCache.DefaultCredentials;
          
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
           
            Stream dataStream = response.GetResponseStream();
           
            StreamReader reader = new StreamReader(dataStream);
          
            string responseFromServer = reader.ReadToEnd();

            common_login sessione = JsonConvert.DeserializeObject<common_login>(responseFromServer);
            
            reader.Close();
            dataStream.Close();
            response.Close();

            HttpResponseMessage resp = new HttpResponseMessage();

            JsonMediaTypeFormatter formatoJson = new JsonMediaTypeFormatter();

            resp.Content = new ObjectContent<common_login>(sessione, formatoJson);

            return resp;            
        }
    }


va in errore sulla riga:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();


In poche parole, da una applicazione WebForm funziona, ma dal metodo di un controller (quindi un'api che chiama una api) no.

Qualcuno sa darmi qualche dritta ?
Modificato da djciko il 06 ottobre 2020 01:10 -

In code we trust
710 messaggi dal 13 novembre 2008
Contributi
Ciao, la richiesta è annullata perché come è riportato Postman non riesce a creare un canale SSL, per quello si ferma in quel punto e non riceve risposta;
cose da verificare che mi vengono in mente:
canale TSL supportato dal server, magari è 1.2 e Postman non è settato correttamente, in rete trovi come risolvere
puoi disabilitare la verifica SSL in Postman, nei settaggi
puoi caricare il certificato per il dominio in Postman, cerca nella guida relativa

quando tutto è ok nella risposta alll'api ci saranno anche i dati del certificato
risolto, e' bastato mettere:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;


prima della chiamata.

Cosi' anche Postman ovviamente funziona, ma approfondiro' come si fa anche solo con Postman.

Grazie !

In code we trust

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.