vik93 Posted June 13, 2014 Share Posted June 13, 2014 (edited) Bonjour ! J'ai un petit problème. En effet, lorsque j'ajoute un produit sur prestashop (en webservice), l'ajout est impossible. En effet, il bloque au niveau des caractère où il y a des accents. Le XML d'origine est bien encodé en UTF-8, mais lorsqu'il y a la lecture du document l'ajout, il ne prend plus en compte cet encodage, et donne des caractères ASCII. Du coup, le web service n'accepte pas ce caractère et n'ajoute pas le produit :-( XML SENT xml=<?xml version="1.0"?> <prestashop> <product> <reference> OC250B </reference> <stock_availables node_type="stock_available"/> <id_category_default>2</id_category_default> <id_category>2</id_category> <redirect_type>404</redirect_type> <available_for_order>1</available_for_order> <show_price>1</show_price> <minimal_quantity>1</minimal_quantity> <active>0</active> <price required="true" format="isPrice">5.770</price> <id_tax_rules_group format="isUnsignedId">1</id_tax_rules_group> <name required="true" maxSize="128" format="isCatalogName"> <language id="1">Bol salade à charnière R250</language> </name> <link_rewrite required="true" maxSize="128" format="isLinkRewrite"> <language id="1" format="isUnsignedId">Bol-salade-à-charnière-R250</language> </link_rewrite> <associations> <categories> <category>2</category> </categories> <tags><tag><id>1</id></tag> </tags> <product_features><product_feature><id>8</id><custom>0</custom><id_feature_value>38</id_feature_value></product_feature><product_feature><id>9</id><custom>0</custom><id_feature_value>83</id_feature_value></product_feature> </product_features> </associations> </product> </prestashop> Nous pouvons voir qu'au niveau de la balise Name et Link_rewrite, il y a des caractères bizarre. RETURN HTTP BODY <?xml version="1.0" encoding="UTF-8"?> <prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> <errors> <error> <code><![CDATA[127]]></code> <message><![CDATA[XML error : String could not be parsed as XML XML length : 963 Original XML : <?xml version="1.0"?> <prestashop> <product> <reference> OC250B </reference> <stock_availables node_type="stock_available"/> <id_category_default>2</id_category_default> <id_category>2</id_category> <redirect_type>404</redirect_type> <available_for_order>1</available_for_order> <show_price>1</show_price> <minimal_quantity>1</minimal_quantity> <active>0</active> <price required="true" format="isPrice">5.770</price> <id_tax_rules_group format="isUnsignedId">1</id_tax_rules_group> <name required="true" maxSize="128" format="isCatalogName"> <language id="1">Bol salade ]]></message> </error> </errors> </prestashop> Il y a l'erreur "String could not be parsed as XML" qui s'affiche.... J'ai beau essayer d'utiliser les fonctions xml_encode() xml_decode(), ça ne change rien. Avez-vous une idée du problème ? En vous remerciant d'avance. Edited June 13, 2014 by vik93 (see edit history) Link to comment Share on other sites More sharing options...
vik93 Posted June 25, 2014 Author Share Posted June 25, 2014 (edited) Après plus de 10 jours de recherches, j'ai enfin trouvé la solution : <![CDATA[[ élément ]]> On peut l'utiliser comme ceci : <language id="1"><![CDATA[ élément ]]></language> Et ça marche :-) Edited June 26, 2014 by vik93 (see edit history) Link to comment Share on other sites More sharing options...
vik93 Posted June 26, 2014 Author Share Posted June 26, 2014 Il y a un autre problème, le '&' ne fonctionne pas...... & ne fonctionne pas, %26amp; non plus (En m'inspirant de ce lien : http://www.prestashop.com/forums/topic/137890-webservice-cannot-handle-ampersands/?hl=%2Bampersands+%2Bwebservice#entry1111363 ) Par contre, quand j'utilise %26amp; ça me met cette erreur : <message><![CDATA[Validation error: "Property Product->name is not valid"]]></message> Alors que quand j'utilise & ça me met une erreur 500... Et c'est repartit pour 10 jours de recherches !!! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now