Originariamente inviato da Filuz
provvisoriamente ho optato per questa soluzione:
i metodi del ws sono fatti in questo modo:
Codice PHP:
public function($chiave$altro_param)
{
if(
$chiave == $this->key)
{
procede con l'esecuzione
}
else
throw new SoapFault("999", "non hai i permessi per chiamare questo servizio");

quindi il client quando chiama una funzione mette come parametro una chiave alfanumerica (tanto non è un ws pubblico, ma intra-aziendale).
il problema è che la comunicazione avviene tramite HTTP che è in chiaro.

se metto il file php che contiene il server ws in una cartella di Apache configurata per utilizzare SSL, e nel documento WSDL che descrive il servizio scrivo (in <service>):
<soap:address location="https://url" />
la comunicazione avverrà tramite https? come faccio a verificarlo?

oppure devo modificare anche:
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
anche se non so cosa dovrei metterci, non ho trovato url per l'https...
Mi sembra un buon compromesso, quello che esponi
Riguardo https/http sì, avvegnono in chiaro normalmente. Se imposti il server in https, allora avvengono criptate e il parametro nel wsdl va modificato di conseguenza (location).
Lo schema invece non mi pare vada modificato, ma se hai modo di fare una prova, ti levi il dubbio da solo