[RESOLU] php soap wsdl couldn't load external entity

Eléphant du PHP | 363 Messages

15 juil. 2013, 14:23

Bonjour,

Je n'arrive pas à comprendre pourquoi le script ci-dessous ne fonctionne pas.

Code : Tout sélectionner

try { $client = new SoapClient ("http://xx.xx.xx.xx:8080/web/services/infoPerso?wsdl"); var_dump($client->__getFunctions()); } catch(Exception $e) { echo "Exception: " . $e; }
alors que si j'atteins directement le wsdl par l'url : http://xx.xx.xx.xx:8080/web/services/infoPerso?wsdl ca marche.

Là, dans le premier cas, j'ai le message d'erreur suivant :

Exception: SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://xx.xx.xx.xx:8080/web/services/infoPerso' : failed to load external entity "http://xx.xx.xx.xx:8080/web/services/infoPerso" in /applis/apache2/htdocs/monsite/test.php:5 Stack trace: #0 /applis/apache2/htdocs/monsite/test.php(5): SoapClient->SoapClient('http://xx.xx.xx.xx:8080/...') #1 {main}

Le module soap est pourtant bien activé au niveau du .ini. De quoi cela peut-il venir alors ?

Have a sunny day :)

Féfé
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 juil. 2013, 21:13

salut,


que donne un file_get_contents('http://xx.xx.xx.xx:8080/web/services/infoPerso?wsdl'); ?


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 363 Messages

16 juil. 2013, 09:58

Bonjour Moogli :)

Rien à l'écran, c'est étrange et quand je vais voir dans les logs du serveur j'ai ceci :

PHP Warning: file_get_contents(http://xx.xx.xx.xx:8080/web/services/infoPerso?wsdl) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: Connection timed out in /applis/apache2/htdocs/monsite/test.php on line 5

Ce qui est bizarre c'est que le serveur qui exécute et le même sauf que php est côté apache et l'autre c'est côté tomcat je crois.
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 juil. 2013, 20:31

et au pif le paramètre allow_url_fopen il est comment ? (php.ini)

sinon il y a moyen de tester le code + wsdl ? (juste le fichier pas besoin du web service java :) )

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 363 Messages

19 juil. 2013, 00:29

Re Moogli,

Pardon, mon but n'était vraiment pas de faire du multipostage.

J'ai ouvert un autre topic car comme ça va au delà de l'utilisation de soap... C'est peut être de l'ordre d'un problème réseau ou autre, de configuration serveur, de droits ?

Voilà tout. Encore désolée. Je regarde demain le .ini et te dis ;)

Merci de ton aide !
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Eléphant du PHP | 363 Messages

19 juil. 2013, 10:53

Voilà pour la réponse à ta question Moogli :

allow_url_fopen est sur On On selon mon phpinfo.

C'est grave docteur ?
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Eléphant du PHP | 363 Messages

14 août 2013, 10:20

Coucou !!

Je reviens avec ce problème où je suis désemparée.

le file_get_contents ne renvoie rien si j'attaque ce serveur alors que si je fais un file_get_contents de google par exemple ça marche. Mon php.ini semble ok. allow_url_fopen sur on.

Les 2 serveurs sont dans une même DMZ et il n'y a rien qui semble bloquer et pourtant...

J'avais pensé à une histoire de droits entre mes 2 comptes ce qui était juste en soi mais ça fonctionne maintenant pour google donc il y a bien un schmürtz qq part.

Une idée ?

Par avance merci de ton/votre aide.

Tite fée
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 août 2013, 13:40

Salut,

As tu la main sur le Tomcat ?
Peux tu voir ce qu'il y a dans les logs (catalina.out par défaut, a moins qu'il y ai un logger spécifique pour l'applique qui s'occupe du wsdl ?) ?

Si le fil_get_contents time out c'est qu'il doit être rejeter par le service soap et donc il faut savoir pourquoi.

Sinon pour ce qui est de l'utilisation de service soap en php il faut être certain que les attributs (paramètre, résultat etc) soient bien tous nommé sinon tu ne pourra pas l'utiliser.


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 363 Messages

21 août 2013, 16:44

C'était un problème très tordu de DNS.

Merci moogli !!!

J'ouvre un nouveau post car j'ai un nouveau souci.
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?