acherrytells Posted September 20, 2012 Share Posted September 20, 2012 (edited) Bonjour, Déjà un grand bravo pour la nouvelle version 1.5 qui est un régal. Je rencontre un problème concernant l'utilisation de webservices. En me basant sur la documentation de la 1.5, j'ai bien activé le service web (mode non cgi car je suis sur une installation wamp). J'ai ensuite créé un service sur les customers comme me dit la doc pour test. Puis j'ai tenté un accès à http://XXXXX@YYYYY/api où XXXX est la clé et YYYY l'accés normal à ma boutique http://YYYYY. J'obtiens ceci sous firefox : Erreur d'analyse XML : erreur de syntaxe Emplacement : http://CLR9T637C43HLLGKKHCLSC9S2MB24REU@dsk4951/ClubInsert/api Numéro de ligne 1, Colonne 1 :Error Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequest<?xml version="1.0" encoding="UTF-8"?> ^ Si je regarde le code source, j'ai : Error Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequest<?xml version="1.0" encoding="UTF-8"?> <prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> <api shop_name="ZZZZ"> <customers xlink:href="http://YYYY/api/customers" get="true" put="true" post="true" delete="true" head="true"> <description xlink:href="http://YYYYY/api/customers" get="true" put="true" post="true" delete="true" head="true"> The e-shop's customers</description> <schema xlink:href="http://YYYYYY/api/customers?schema=blank" type="blank"/> <schema xlink:href="http://YYYYYY/api/customers?schema=synopsis" type="synopsis"/> </customers> </api> </prestashop> Je n'arrive à comprendre l'erreur. Si je passe par la classe PSWebServiceLibrary.php en code (curl activé), <html><head><title>CRUD Tutorial - Product's list</title></head><body> <?php // Here we define constants /!\ You need to replace this parameters define('DEBUG', true); // Debug mode define('PS_SHOP_PATH', 'http://YYYYYY'); // Root path of your PrestaShop store define('PS_WS_AUTH_KEY', 'XXXXXXXX'); // Auth key (Get it in your Back Office) require_once('./PSWebServiceLibrary.php'); try { // creating web service access $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); // call to retrieve all clients $xml = $webService->get(array('resource' => 'customers')); } catch (PrestaShopWebserviceException $ex) { // Shows a message related to the error echo 'Other error: <br />' . $ex->getMessage(); } ?> </body></html> La variable $request de la fonction get de la classe PrestaShopWebservice obtient le même résultat. Le mode débug donne : HTTP REQUEST HEADER GET /YYYYYY/customers HTTP/1.1 Authorization: Basic Q0xSOVQ2MzdDNDNITExHS0tIQ0xTQzlTMk1CMjRSRVU6 Host: RRRRRRR Accept: */* HTTP RESPONSE HEADER HTTP/1.1 200 OK Date: Thu, 20 Sep 2012 13:56:31 GMT Server: Apache/2.2.22 (Win32) PHP/5.4.3 Vary: Host X-Powered-By: PrestaShop Webservice Set-Cookie: d567f3daa8a5067d5995bd10c415b704=jfjNX10uJCnoJTE6a7aklD22ROH7At%2FI7%2BbF29Rs9PLqSHkF1oCpr2a50Y6PyhaEe9J2hRCZUbZw5a3cbw1wTg%3D%3D000061; expires=Wed, 10-Oct-2012 13:56:31 GMT; path=/CCCCCC/; httponly Access-Time: 1348149392 PSWS-Version: 1.5.0.17 Execution-Time: 0.058 Content-Sha1: 03915293f4f51355af7ae6d9f1c60a856b88ccdb Content-Length: 604 Content-Type: text/xml;charset=utf-8 RETURN HTTP BODY Error Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequest<?xml version="1.0" encoding="UTF-8"?> <prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> <customers> <customer id="2" xlink:href="http://YYYYY/api/customers/2"/> <customer id="3" xlink:href="http://YYYYY/api/customers/3"/> <customer id="4" xlink:href="http://YYYYY/api/customers/4"/> </customers> </prestashop> Auriez-vous des pistes à me donner pour trouver la solution ? A terme, je compte utiliser ces webservices via un etl (talend). donc je ne puis laisser cette chaine "Error Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequestError Handler WebserviceRequest" dans le retour. Merci à l'avance pour toute aide ! Edited September 21, 2012 by acherrytells (see edit history) Link to comment Share on other sites More sharing options...
acherrytells Posted September 21, 2012 Author Share Posted September 21, 2012 Bonjour, Je me réponds à moi-même.... Le problème venait de l'activation du cache. En effet ne m'étant pas encore occupé à installer mem, xcache ou apc, j'avais mis le cache avec le systéme de fichier. Visiblement les webservices n'aiment pas. Trouvé en débuggant les classes et voyant que l'erreur se faisait au moment de la mise en cache des requêtes. Je désactive temporairement le cache le temps de travailler sur les webserices, j'imagine que le problème n'aura pas lieu quand j'utiliserai mem ou xcache. 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