utiliser un web service en POST
Bonjour,
Je dois utiliser un web service pour la première fois, et même si j'ai des indications assez précises je rame pour les traduire en PHP...
Voici mes consignes :
- appeler l'URL http://toto
- utiliser un header avec des attributs Accept et Content-Type
- envoyer un body formaté en XML
- envoyer le tout en POST
Voici mon dernier test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $url = 'http://toto';
$data ='<attrs>
<attr name="userName" type="string"/>Ali Baba</attr>
<attr name="password" type="string"/>Sésame, ouvre-toi</attr>
<attr name="auth" type="string" possibilities="secEnterprise,secLDAP,secWinAD,secSAPR3">secEnterprise</attr>
</attrs>
';
$options = array(
'http' => array(
'header' => "Content-type: application/xml\r\nAccept: application/xml",
'method' => 'POST',
'content' => urlencode($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { echo "raté" ; }
var_dump($result); |
Comme résultat, j'obtiens bien sûr raté.
L'un des trucs que je ne comprends pas : en POST, je suis censé envoyer des paires clef/valeur et pas un code XML... Est-ce que je dois l'associer à une clef ?
Je fais sans doute un paquet d'erreurs de débutant...