Ho un problema che non posso call il webservice da un altro server e mostra un errore come questo:
Errore durante il recupero delle intestazioni http
- php soap client per posta elettronica webservice api?
- Perché il servizio web restituisce i dati anche se l'indirizzo IP in wsdl è errato?
- In PHP come si può cancellare una cache WSDL?
- URL WSDL per un servizio WCF (basicHttpBinding) ospitato all'interno di un servizio Windows
- Valori di string restituiti da PHP SoapServer non ricevuto dal client .Net
Quando ho esaminato l'errore più dettagliato, mi sono reso conto che l' endpoint non è corretto. Ad esempio, ho scritto questo nel mio codice php
$client=new SoapClient('https://www.example.com:17819/wsdl/sample.php?wsdl', arrays("trace" => 1, "connection_timeout" => 5, "exceptions" => 1));
L'endpoint dovrebbe essere in https , ma l'errore mostra che l'endpoint inizia con http -> http: //www.example.com:17819/wsdl/sample.php?wsdl
Cosa mi manca nel mio codice cliente php?
Grazie
Ho appena risolto questo problema. Ho usato nusoap_client
per risolvere questo problema. E cambio anche il formato della richiesta, in questo modo
$msg = "<soapenv:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:urn='urn:sj_service'>";
E così via..
Grazie