Jump to content
Bluxget

WebService REST PUT Bad Request

Recommended Posts

Bonjour,

je crée ce sujet pour vous demander de l'aide à propos d'un update via le l'API fournit par Prestashop.

 

Je suis actuellement entrain de découvrir l'api REST ; je n'ai aucun problème pour récupérer les informations d'un produit mais il m'est cependant impossible d'en modifier un, j'obtiens le message d'erreur suivant :

 

Fatal error: Uncaught exception 'PrestaShopWebserviceException' with message 'This call to PrestaShop Web Services failed and returned an HTTP status of 400. That means: Bad Request.' in C:\xampp\htdocs\poo\PSWebServiceLibrary.php:91 Stack trace: #0 C:\xampp\htdocs\poo\PSWebServiceLibrary.php(359): PrestaShopWebservice->checkStatusCode(400) #1 C:\xampp\htdocs\poo\class\Boutique.class.php(206): PrestaShopWebservice->edit(Array) #2 C:\xampp\htdocs\poo\ajax\sous_categorie.php(6): Boutique->setCategorie('8', '8') #3 C:\xampp\htdocs\poo\ajax.php(9): require_once('C:\\xampp\\htdocs...') #4 {main} thrown in C:\xampp\htdocs\poo\PSWebServiceLibrary.php on line 91

 

Voici le code utilisé :

public function setCategorie($produit, $categorie)
{
	$xml = $this->getProduitXml($produit);

	$xml_produit = $xml->children()->children();

	$opt['resource'] = 'products';
	$opt['putXml'] = $xml->asXML();
	$opt['id'] = (int)$produit;

	$this->m_webService->edit($opt);
}

Je me contente simplement de récupérer le xml d'un produit et de renvoyer le même fichier xml au même produit sans aucune modification pour tester le fonctionnement.

 

Les permissions sont bien réglés, tout a été coché pour les tests.

 

 

Merci d'avance pour votre aide.

Edited by Bluxget (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

tu es en localhost sur un windows... Donc regarde ton serveur pour savoir si tu autorises les webservices et les requêtes de type put sur ton serveur.

Idéalement, pour tester ce genre de choses, il vaut mieux se mettre sur un vrai serveur, quitte à se positionner dans un sous domaine ou sous répertoire.

Share this post


Link to post
Share on other sites

Merci pour cette réponse rapide, j'ai donc testé avec une machine Debian apache2 présente sur le réseau local mais je suis confronté au même problème.

Comment puis-je rendre la méthode PUT utilisable sur cette même machine ?

Edited by Bluxget (see edit history)

Share this post


Link to post
Share on other sites

Je me permet de remonter le sujet, je n'arrive toujours pas à autoriser les requêtes de type PUT.

Quelqu'un aurait une idée ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More