j'ai réussi à mettre en place un webservice via le SOAP, les requetes fonctionnent parfaitement.
Maintenant, j'aimerais passer à l'étape suivante : demander une authentification via le header de l'enveloppe SOAP
Voila ce que j'utilise pour construire mon client SOAP :
CODE
<?php
header("Content-Type: text/xml; charset=UTF-8");
// Désactivation du cache WSD Pour la période de Dev
ini_set("soap.wsdl_cache_enabled", false);
// lier le client au fichier WSDL
$clientSOAP = new SoapClient("http://wota.exclusive-hotels.com/wsdl/Test.wsdl");
$namespace = "http://wota.exclusive-hotels.com/xsd";
// Définir les informations utilisateur dans le header
$infos_user = array(
"User_Log" => "David",
"User_Password" => "pass",
"Language" => "EN");
$CredentialHeader = new SoapHeader("http://wota.###.com/wsdl/", $CredentialHeader, $infos_user);
// Génération du header
$headerSOAP = array($User_Log, $User_Password, $Language);
$clientSOAP->__setSoapHeaders($headerSOAP);
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<EHAreaCityRQ xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://wota.exclusive-hotels.com/xsd\" xsi:schemaLocation=\"http://wota.###.com/xsd http://wota.###.com/xsd/EHCityRQ.xsd\">
<AreaCity>
<CityCode>PAR</CityCode>
<Language>EN</Language>
</AreaCity>
</EHAreaCityRQ>";
// executer la methode EHAreaCityRQ
echo $clientSOAP->EHAreaCityRQ($xml);
?>
header("Content-Type: text/xml; charset=UTF-8");
// Désactivation du cache WSD Pour la période de Dev
ini_set("soap.wsdl_cache_enabled", false);
// lier le client au fichier WSDL
$clientSOAP = new SoapClient("http://wota.exclusive-hotels.com/wsdl/Test.wsdl");
$namespace = "http://wota.exclusive-hotels.com/xsd";
// Définir les informations utilisateur dans le header
$infos_user = array(
"User_Log" => "David",
"User_Password" => "pass",
"Language" => "EN");
$CredentialHeader = new SoapHeader("http://wota.###.com/wsdl/", $CredentialHeader, $infos_user);
// Génération du header
$headerSOAP = array($User_Log, $User_Password, $Language);
$clientSOAP->__setSoapHeaders($headerSOAP);
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<EHAreaCityRQ xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://wota.exclusive-hotels.com/xsd\" xsi:schemaLocation=\"http://wota.###.com/xsd http://wota.###.com/xsd/EHCityRQ.xsd\">
<AreaCity>
<CityCode>PAR</CityCode>
<Language>EN</Language>
</AreaCity>
</EHAreaCityRQ>";
// executer la methode EHAreaCityRQ
echo $clientSOAP->EHAreaCityRQ($xml);
?>
Mais voila, mon probème, c'est comment récupérer dans la partie serveur les valeurs mise dans le header?
Merci d'avance