Jump to content

Webservice erreur XML de type 127 String could not be parsed as XML


Recommended Posts

Bonjour à tous,

 

Version de prestashop: 1.4.10

 

Alors voila j'ai fait des test d'ajout/suppression/mise a jour et affichage des clients grâce au fichier PrestaShopWebservice.

 

En utilisant ce client PHP j'ai effectivement pu testé les méthodes CRUD et cela fonctionne à merveille. J'ai réussi à ajouter/supprimer et éditer des clients.

 

En revanche lorsque j'utilise le module "RESTClient" sur FirFox il y a une erreur 127 qui survient uniquement lorsque j'utilise la méthode POST avec l'erreur suivante

 

XML error : String could not be parsed as XML XML length : 0 Original XML :

 

Bizarement avec PUT j'arrive bien à modifier les données sans aucunes erreurs, en envoyant la même structure d'XML qu'avec POST.

 

Voici à quoi ressemble mon XML:

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<customer>
<id></id>
<id_default_group></id_default_group>
<newsletter_date_add></newsletter_date_add>
<ip_registration_newsletter></ip_registration_newsletter>
<last_passwd_gen></last_passwd_gen>
<secure_key></secure_key>
<deleted></deleted>
<passwd></passwd>
<lastname>Sam</lastname>
<firstname>Doe</firstname>
<email>[email protected]</email>
<note></note>
<id_gender></id_gender>
<birthday></birthday>
<newsletter></newsletter>
<optin></optin>
<active></active>
<is_guest></is_guest>
<associations></associations>
</customer>
</prestashop>

Alors j'ai cherché longtemps sans trouver de réponses.

Il ya plusieurs personnes qui ont le même souscis que moi, mais malheureusement il n'y a aucune solution que j'ai pu trouver en fouillant les sites ainsu que ce forum

 

J'ai même essayé d'ajouter les <[CDATA]> pour encapsuler les données mais sans aucun résultats,changé le format d' URL en ajoutant xml à la fin de l'url

http://localhost/pre.../customers/?xml mais sans aucun résultat.

 

Comment faut-il traiter les données XML avant l'envoi?

Y a t-il un encodage a effectué avant le POST?

 

Pouvez vous m'aider svp j'ai vraiment besoin de votre aide.

 

Merci

Edited by def21 (see edit history)
Link to comment
Share on other sites

Après des heures de recherches je me répond à moi même et surtout pour tous ceux qui sont dans le même pas cas que moi.

 

Il suffit envoyer les donné XML sous forme de paramètre, comme ceci:

 

http://localhost/prestashop/api/customers?xml=<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> <customer> <id></id> <id_default_group></id_default_group><newsletter_date_add></newsletter_date_add><ip_registration_newsletter></ip_registration_newsletter><last_passwd_gen></last_passwd_gen><secure_key></secure_key><deleted></deleted><passwd></passwd><lastname>battarde</lastname><firstname>sc</firstname><email>[email protected]</email><note></note><id_gender></id_gender><birthday></birthday><newsletter></newsletter><optin></optin><active></active><is_guest></is_guest><associations></associations></customer></prestashop>

 

Je ne comprend pas pourquoi l'api n'a pas été conçu pour envoyer les données directement dans le Body

Link to comment
Share on other sites

  • 5 years later...

Bonjour,

sujet ancien, mais j apporte ma contribution !

après avoir passez une journée à faire fonctionner une méthode post (windev formulaire httppost) pour ajouter un produit sur une version de prestashop 1.5.x

et cela sans succès, toujours le même message d erreur (parsing du xml impossible !) alors que le httpput (modification produit) fonctionne parfaitement.

j ai fini par solutionner le problème en remplaçant  le fichier /webservice/dispatcher.php de ma version 1.5 par la version 1.6 trouvé sur github

et miracle ! tout fonctionne parfaitement ...

Link to comment
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...