Ajouter un header (Authorization et Content-Type) lors de l'appel d'un webservic
Résolu
mikis69
Messages postés
168
Date d'inscription
Statut
Membre
Dernière intervention
-
mikis69 Messages postés 168 Date d'inscription Statut Membre Dernière intervention -
mikis69 Messages postés 168 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Ajouter un header (Authorization et Content-Type) lors de l'appel d'un webservic
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Appel inconnu - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Request header or cookie too large - Forum Webmastering
- Ajouter un compte whatsapp - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, tu dois commencer par trouver le wsdl de bpost. n'as-tu vraiment aucune autre information?
Ou alors, je vois trop loin et je n'ai qu'à effectuer une requête HTTP en mode POST ?
J'ai finalement réussi en utilisant les requêtes HTTP plutôt que l'appel Webservice que j'ai mentionné plus haut.
// Set status to open ! $document = new \DOMDocument('1.0', 'utf-8'); $document->preserveWhiteSpace = false; $document->formatOutput = true; $order_update = $document->createElement('orderUpdate'); $order_update->setAttribute('xmlns', 'http://schema.post.be/shm/deepintegration/v3/'); $order_update->setAttribute('xmlns:xsi', '"http://www.w3.org/2001/XMLSchema-instance'); $order_update->appendChild( $document->createElement('status', $status) // Le status voulu : OPEN, CANCELLED, ... ); $document->appendChild($order_update); $headers = array( 'Content-Type: application/vnd.bpost.shm-orderUpdate-v3+XML', 'Authorization: Basic ' . base64_encode('ACCOUNTID:PASSPHRASE'), ); // set options $options = array(); $options[CURLOPT_URL] = 'https://api.bpost.be/services/shm/ACCOUNTID/orders/ORDERID'; $options[CURLOPT_RETURNTRANSFER] = true; $options[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_1; $options[CURLOPT_HTTPHEADER] = $headers; $options[CURLOPT_SSL_VERIFYPEER] = false; $options[CURLOPT_POST] = true; $options[CURLOPT_POSTFIELDS] = $document->saveXML(); // init $curl = curl_init(); // set options curl_setopt_array($curl, $options); // execute $response = curl_exec($curl); var_dump($response);
C'est possible qu'il n'y en ai pas ? Ou alors la partie commune à chaque opération 'https://api.bpost.be/services/shm' et rajouter '?wsdl' à la fin ?
bizarre que tu n'aies pas reçu l'information de bpost: travailles-tu vraiment avec eux?