Si vuole richiamare da un’applicazione client un metodo di un servizio web in modalità SSL (Secure Socket Layer) ed inoltre si vogliono nascondere i parametri del suddetto web method.
Si dà per assunto l’installazione del certificato nel server.1. Richiamare un metodo web in modalità SSL da un’applicazione client :
// Viene istanziato l’oggetto che si riferisce al web service
DocumentHistory d = new DocumentHistory();NetworkCredential networkCredential = new NetworkCredential("ciccio", "pasticcio");
d.Credentials = networkCredential;ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
// Viene invocato il metodo richiesto
object[] r = d.DepartmentReport("??", "??”, “!!”);
Da tenere presente quindi che se viene omessa la riga di codice evidenziata in giallo si verifica la seguente web exception:
“Connessione sottostante chiusa: Impossibile stabilire una relazione di trust per il canale sicuro SSL/TLS..”
2. Per nascondere i parametri del metodo web si deve aggiungere il seguente elemento nel web.config del servizio web, all’interno dell’elemento <system.web>:
<system.web>
<webServices><protocols>
<remove name="HttpPostLocalhost"/>
</protocols>
</webServices>
</system.web>
Nessun commento:
Posta un commento