Bonjour,
Je viens demander un peu d'aide sur un problème qui me coince depuis plusieurs jours. Je dois mettre en place un serveur d'application web en php qui puisse consommer un service web.
Mon développeur travail en local sur un WAMP et il peux faire son dev sans problèmes et donc consommer du service web.
Pour passer en prod nous utilisons un serveur CentOS 6.3 i386 sur hyper-v, installation minimale.
Ensuite j'ai installer un serveur apache (httpd), puis php (common, cli, ... et dépendances) puis php-soap.
Lorsque je fais un phpinfo(); cela me donne cela au niveau de soap :
etCode:Additional .ini files parsed /etc/php.d/curl.ini, /etc/php.d/fileinfo.ini, /etc/php.d/json.ini, /etc/php.d/phar.ini, /etc/php.d/soap.ini, /etc/php.d/zip.ini
cependant lorsque je mets le code de mon développeur j'ai cette erreur :Code:
1
2
3
4
5
6
7
8
9 Soap Client enabled Soap Server enabled Directive Local Value Master Value soap.wsdl_cache 1 1 soap.wsdl_cache_dir /tmp /tmp soap.wsdl_cache_enabled 1 1 soap.wsdl_cache_limit 5 5 soap.wsdl_cache_ttl 86400 86400
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 object(LibXMLError)#1 (6) { ["level"]=> int(1) ["code"]=> int(1549) ["column"]=> int(0) ["message"]=> string(73) "failed to load external entity "http://**.**.**.**:8080/wsdl/RpcEncoded" " ["file"]=> string(0) "" ["line"]=> int(0) } SoapFault Object ( [message:protected] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://**.**.**.**:8080/wsdl/RpcEncoded' : failed to load external entity "http://**.**.**.**:8080/wsdl/RpcEncoded" [string:Exception:private] => [code:protected] => 0 [file:protected] => /var/www/html/SoapClientPHP.php [line:protected] => 12 [trace:Exception:private] => Array ( [0] => Array ( [file] => /var/www/html/SoapClientPHP.php [line] => 12 [function] => SoapClient [class] => SoapClient [type] => -> [args] => Array ( [0] => http://**.**.**.**:8080/wsdl/RpcEncoded [1] => Array ( [login] => ****** [password] => ******** ) ) ) ) [previous:Exception:private] => [faultstring] => SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://**.**.**.**:8080/wsdl/RpcEncoded' : failed to load external entity "http://1**.**.**.**:8080/wsdl/RpcEncoded" [faultcode] => WSDL )
si je mets un service web sans authentification, type google apis ($wsdl = file_get_contents('https://www.google.com/apis/ads/publisher/v201204/ForecastService?wsdl');) j'ai bien une page qui s'affiche.
Pour aller plus loin dans le débug j'ai monté un LAMP et là pas de problèmes??
Je dois faire fonctionner ces applis sur un serveur CentOS, donc il faut que ça fonctionne.
Le code de ma page ClientSoapPHP.php est celui-ci :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php $WSDL = "http://**.**.**.**:8080/wsdl/RpcEncoded"; // L'identifiant et le mot de passe doivent être en majuscules $LOGIN = "*****"; $PASS = "*******"; try { // $wsdl = file_get_contents('http://**.**.**.**:8080/wsdl'); // echo $wsdl; // Creation du client SOAP $client = new SoapClient($WSDL, array('login'=> strtoupper($LOGIN),'password'=> strtoupper($PASS))); $cours = $client->TousLesCours(); foreach ($cours as $cou) { print_r($client->DomaineCours($cou)); $domaine = $client->DomaineCours($cou); } } catch (Exception $e) { var_dump(libxml_get_last_error()); echo '<pre>'; print_r($e); echo '</pre>'; } ?>
Sur chrome voici le débug de sortie :
sur le CentOS :
et sur le LAMP:Code:
1
2
3
4
5
6
7
8 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Host:**.**.**.** User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
Je précise que pour le moment tout est sur la même tranche réseau, pas de proxy.Code:
1
2
3
4
5
6
7
8 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Host:**.**.**.** User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11
Merci de votre coup de main.