Jump to content

[Résolu] [1.5][Webservice]Trouver l'origine d'une erreur WebserviceRequestError


Recommended Posts

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 by acherrytells (see edit history)
Link to comment
Share on other sites

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

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