OVH Community, votre nouvel espace communautaire.

Mutualisé[business], HTTPS, PHP5, WSDL, Zend_Soap_AutoDiscover, Zend_Soap_Server


thithi83
29/01/2011, 06h54
Bonjour,

Bon, j'ai fait différemment: tout simplement une action sécurisée qui ressort un fichier xml contenant les données à exporter/partager entre les différents interlocuteurs. On pourrait appeler cela un webservice de type REST over HTTPS (qui peut prendre tous les paramètres dont j'ai besoin).

Voilà pour les données.

Pour le côté structure logicielle, et bien je fourni des interfaces qui doivent être implémentées par les clients du webservice pour exploiter les données simplement.

Du coup, adios SOAP sur les hébergements mutualisés OVH.

Bonne fin de journée!

thithi83
27/01/2011, 16h12
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.