Jump to content
def21

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>test@test.com</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)

Share this post


Link to post
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>test@test.fr</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

Share this post


Link to post
Share on other sites

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 ...

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