SOAP, new object faultexception.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SOAP, new object faultexception.

Re: SOAP, new object faultexception. bug found, Close see ne

par trebly » 30 août 2011, 01:49

Hi ,
(see below translation in French if you wish)

:) I found it, it was a bug for easyphp, :( even I don't receive any help, a default in php.ini which went with EasyPhp (SOAP normally enabled),
Default which, in my opinion, could be detected by php initialization as lack of coherency of parameters :


the problem


The parameter :

soap.wdsl_cache

of the groupe [SOAP] in ini.php is not intialized.

The following command should appear always :

soap.wdsl_cache = 1 (or other value <>0)

When it is absent even dynamically fixed (changed), for example in :

Code : Tout sélectionner

$mysoap_inst = NEW SoapClient ( https://...../*.wsdl)
1- Produce generally the crash in object of this thread,
2- Sometimes SOAP parameters don't appears into PHP parameters list
3- Sometimes parameters appears as they are probably in cache (kept after a restart ?),

nevertheless the class SOAP is always not initialized if the parameter is missing...

Best regards,

Trebly

Note : I let, for a while, the thread opened if somebody wants to add a comment or an answer even the solution is found


Français ____________________________________________________________________

Bonsoir,
Ca-y-est, après pas mal d'heures de recherche, et sans avoir reçu la moindre réponse, je signale que le bug est trouvé, car il s'agissait bien de ce qui s'apparente à un bug Easyphp :

Le paramètre :

soap.wdsl_cache

du groupe [SOAP] de ini.php n'est pas initialisé. L’instruction suivante devrait figurer par défaut :

soap.wdsl_cache = 1 (ou autre <>0)

Son absence, si la valeur n'est pas fixée, lors de l'instruction, par exemple:

$mysoap_inst = NEW SoapClient ( https://...../*.wsdl)

1- Produit en général l'erreur (crash) signalée,
2- Parfois SOAP n'apparait pas dans les paramètres PHP
3- Quoique qu'apparaissant dans les paramètres php (en cache ?) la classe n'est pourtant pas initialisée lorsqu'un redémarrage a eu lieu.

Ca-y-est, le bug est trouvé, car il s'agissait bien de ce qui s'apparente à un bug Easyphp :

Le paramètre :

soap.wdsl_cache

du groupe [SOAP] de ini.php n'est pas initialisé. L’instruction suivante devrait figurer par défaut :

soap.wdsl_cache = 1 (ou autre <>0)

Son absence d'initialisation dans php.ini, si la valeur n'est pas fixée dynamiquement, par exemple lors de l'instruction :

$mysoap_inst = NEW SoapClient ( https://...../*.wsdl)

1- Produit en général l'erreur signalée,
2- Parfois SOAP n'apparait pas dans les paramètres PHP
3- Quoique qu'apparaissant dans les paramètres php (en cache ?) la classe n'est pourtant pas initialisée après un redémarrage.

Cordialement

Trebly

SOAP, new object faultexception.

par trebly » 05 août 2011, 04:10

Bonjour,

Le problème rencontré est rapporté déjà dans les bugs #31050 et #34657.
The same situation has been reported at :http://www.phwinfo.com/forum/comp-lang- ... -load.html

Etant donné que mon installation Apache-Php - depuis Easyphp 5.3.2 et a été depuis mise à niveau en 5.3.6.0 + adaptations complémentaires (SVN, ZEND divers, Xdebug) (winXP3 et Win7) a fonctionné précédemment je ne vois pas précisément ce qui provoque l'erreur :

Code : Tout sélectionner

SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.ovh.com/soapi/soapi-re-1.14.wsdl' : failed to load external entity "https://www.ovh.com/soapi/soapi-re-1.14.wsdl" in G:\W3ld1\OVH\Mails\Test-get-quota-01b.php:33 Stack trace: #0 G:\W3ld1\OVH\Mails\Test-get-quota-01b.php(33): SoapClient->SoapClient('https://www.ovh...') #1 {main}
Le code source est simplissime :

Code : Tout sélectionner

//...path; accès aux bibli etc...... include_once('zend\soap\client.php'); echo('OVH - récupération de données via SoAPI - test01 - Quota de boite aux lettres'.'<br />'); echo('Taille maximale des entiers :'.PHP_INT_MAX.'<br />'); try { $soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.14.wsdl"); // ligne 33
Nota : test effectué le wdsl est parfaitement accessible, mais uniquement via https.

Comme je ne trouve pas de raison autre que le changement de version, notamment la dll :
php_openssl.dll qui jusqu'à 5.3.5 faisait 81995 octets et à changé pour passer en 5.3.6 à 77312,
je me pose la question de la cohérence de la configuration et je cherche des pistes.

J'ai peu le moyen de revenir à la configuration antérieure, mais j'ai a développer une gestion de boites pop3 hébergée chez OVH, or :
- L'interface de gestion d"hébergement OVH ne permet pas sans utiliser SOAP sous SSL de connaitre le taux d'usage de boites.
- J'ai signalé le problème mais OVH me demande un chèque en blanc de 20 Euros pour prendre en compte l'incident, s'il s'avère que le problème ne provient pas d'eux.
J'aurais pu attendre une réponse : pas de problème noté, tout fonctionne sans pb... pour ma part j'ai fait de multiples suggestions d'améliorations d'on j'ai à peine été remercié. Il n'y en aura plus.
Par contre évidemment si je démontre, très peu probable, que le problème provient du wsdl...

Je ne peux pas savoir si je suis le seul à rencontrer ce problème. Probablement oui, sinon j'aurais probablement déjà trouvé quelque chose sur le net, à moins que je sois le premier.
Donc la balle est dans mon camp.

Merci d'avance si vous pouvez me donner des pistes, pour l'instant après plusieurs heures de test et contrôles de config je suis sec.

La question ne concerne pas nécessairement directement le développement, mais...

Pour l'instant il y a des boites mail pleines (qq unes sur une centaine et j'en suis informé bien trop tard, une bonne gestion des boites via SOAP est indispensable). C'est pourquoi j'avais fait les premiers test qui avaient fonctionné du premier coup.


Info complémentaire 5/08/11 14h15 :


Je viens d'effectuer une restauration de config 6.3.4
Il n'y a pas d'erreur générée.
Tout penche vers un problème de version.

J'ai même testé avec une configuration identique httpd.conf à celle de 5.3.4 en ce qui concerne SSL (configuré depuis entre 5.3.4 et 5.3.6), sans effet.

Cordialement

Trebly