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...