2010-06-25 4 views
2

Je ne suis pas sûr s'il y a une différence pour le client PHP-Nusoap dans l'envoi de la demande de services Web à http et https. Pour le test de l'utilisateur, le client utilisait http://xxx.xxx.xxx.xxx:3833/ws/ws.svc?wsdl qui fonctionnait correctement. Cependant, lorsque le client s'est déplacé vers le serveur de production avec https (remplacer le http dans le lien précédent par https), je ne reçois aucune réponse.Nusoap avec https

Merci à l'avance

Répondre

0

J'ai eu le même problème, car il fonctionnait très bien sur http, mais n'a pas été sur https. Juste pour partager tout mon chemin de programmation ici, pour aider les autres.

À l'origine, j'ai suivi ce tutoriel: php webservice with nusoap and c#. La seule chose qu'il ne dit pas dans le tutoriel est que vous devriez mettre tout le code php dans un fichier php (mais d'accord, il peut être juste simple, donc pas de vraies plaintes sur celui-ci). J'ai d'abord essayé ceci sur http, et j'étais heureux que cela fonctionne, mais plus tard j'ai dû passer à SSL, et comme je le testais sur mon serveur local, j'avais un certificat auto-signé, et j'ai eu l'erreur: " La connexion sous-jacente était fermée: Impossible d'établir une relation d'approbation pour le canal sécurisé SSL/TLS. "

je googlé et a finalement trouvé la solution sur ce lien ici: damir dobric blog

Fondamentalement, vous devez ajouter la ligne:

ServicePointManager.ServerCertificateValidationCallback += 
new System.Net.Security.RemoteCertificateValidationCallback(
customXertificateValidation); 

et ajouter la mise en œuvre de la fonction customXertificateValidation pour revenir vrai (ce que Je l'ai fait à des fins de test). Ok, j'espère que cela aidera quelqu'un, parce qu'il m'a stressé pendant une semaine!