Bonjour,
J'obtiens l'erreur suivante avec un simple service web utilisant les classes suivantes du Zend Framework: Zend_Soap_Server et Zend_Soap_Autodiscover.
Contexte applicatif:
Zend_Soap_Server - Zend_Soap_Client
Application-A PHP ZF MVC - Application B PHP ZF MVC
HOST A (main domain) - HOST A (dans un sous-répertoire, pointage DNS vers un sous-domaine)
Environnement:
PHP 5.2.17
Zend Framework 1.10.8
Doctrine 1.2
Mutualisé OVH Business avec certificat SSL signé par OVH Certification Authority
Pour les modules php chargés:
http://business.ovh.net/test.php5
Code:
Warning: SoapClient::SoapClient() [soapclient.soapclient]: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol in /home/~user/path/to/Zend/Framework/...
//Puis
Warning: SoapClient::SoapClient() [soapclient.soapclient]: Failed to enable crypto in ...
//Puis
failed to open stream: operation failed in...
//
I/O warning : failed to load external entity ...
Je précise qu'à chaque fois, le message suivant suit:
Code:
/home/~user/path/to/Zend/Framework/library/Zend/Soap/Client/Common.php on line 51
Mais cela ne m'aide pas vraiment.
D'autre part, j'ai vu des bugs ouverts sur php.net et les différentes versions de PHP impactées. Mais pas à propos de la version en cours d'utilisation sur mon hébergement mutualisé business.
Cette erreur liée au certificat SSL...
1.Est-ce une restriction OVH pure et simple, pour des raisons de légalité ?
2.Est-ce une limitation technique liée à PHP5/SOAP ?
3.Est-ce autre chose (fichier wsdl(qui semble bon), server soap mal configuré, faut-il utiliser un proxy, etc.)?
Si vous pouvez m'aider à écarter les points 1 et 2, le point 3 est entre mes mains et mon cerveau (dernier neurone en cours de surchauffe).
Evidemment, les chemins qui apparaissent dans les messages d'erreur ci-dessus ont été modifiés pour ne pas fournir d'infos sur le compte d'hébergement utilisé. L'erreur ne vient pas de là. Vérifié.
[Edit1]
Je précise que le code du client SOAP, adapté pour consommer SOAPI (api OVH) fonctionne sans problème.
Donc cela vient bien du côté server (ssl, wsdl, server soap).
[/Edit1]
[Edit2]
Pourquoi ce post a-t-il été déplacé dans la section HOWTO du forum ???????
[/Edit2]
[Edit3]
WSDL: Check XML ok, Validation fails!
Netbeans donne "cvc-elt.1: Cannot find the declaration of element 'definitions'. [10] "
Ok, je crois que pour l'instant je vais me pencher sur cette erreur qui semble directement liée aux headers du fichier WSDL ou bien à la récupération du WSDL via HTTPS ou bien encore à une "https response" avec gzip-encoded...
[/Edit3]
[Edit4]
1. La récupération du fichier WSDL via l'option compression du constructeur de la classe Zend_Soap_Server ne sert strictement à rien.
En fait, celle-ci échoue lamentablement même en utilisant les fonctions php liées aux fichiers (readfile(), file(), gzfile() & co ...).
2. La récupération du fichier WSDL via curl et via mon navigateur web fonctionne parfaitement.
3. Mon code fonctionne sans erreur sur un serveur web local avec un certificat SSL auto-signé et toutes les dépendances requises par SOAP......
[/Edit4]
Merci du temps que vous m'accorderez.