Jump to content

[Résolu] [Webservice] ressource 'products'


Recommended Posts

Bonjour,

J'ai suivi le tuto sur l'appel à des webservices prestashop :
http://wiki.prestashop.com/display/frFR/Tutoriel+Webservice+CRUD

Sur la partie sur POST (création d'élément), l'appel à :
http://prestashop/api/customers?schema=blank
ne pose pas de problème.

Par contre, j'ai une erreur lors de l'appel à :
http://prestashop/api/products?schema=blank

qui me renvoi ça :



[php Notice #8] Trying to get property of non-object (C:\workspace_aptana\eboutique\trunk\prestashop\classes\WebserviceRequest.php, line 1221)
[php Notice #8] Trying to get property of non-object (C:\workspace_aptana\eboutique\trunk\prestashop\classes\WebserviceRequest.php, line 1237)
[php Warning #2] array_key_exists() expects parameter 2 to be array, boolean given (C:\workspace_aptana\eboutique\trunk\prestashop\classes\Product.php, line 1804)




Il semblerait que $object soit null (line 1221 & 1237 de WebserviceRequest.php).

Tout marche bien pour la ressource 'customers' mais pas pour la ressource 'products'.

Les 2 ressources 'products' et 'customers' ont bien été activées dans l'admin.

Merci de vos réponses.

Damien.

Link to comment
Share on other sites

Bonsoir,

effectivement, il y a de gros bug dans le webservices de PS, j'en ai parler il y a quelques jours dans la section bug.
http://www.prestashop.com/forums/viewthread/99215/rapports_de_bugs/bug_webservices
Je donne également se qu'il faut modifier pour que cela fonctionne

Par contre aucune nouvelle depuis mes rapports de bugs (2-3) je ne trouve pas ca vraiment sérieux d'ailleurs

Link to comment
Share on other sites

Bonsoir,

effectivement, il y a de gros bug dans le webservices de PS, j'en ai parler il y a quelques jours dans la section bug.
http://www.prestashop.com/forums/viewthread/99215/rapports_de_bugs/bug_webservices
Je donne également se qu'il faut modifier pour que cela fonctionne

Par contre aucune nouvelle depuis mes rapports de bugs (2-3) je ne trouve pas ca vraiment sérieux d'ailleurs


Bug ou pas bug ?
Il me semblait pourtant avoir lu que c'était corrigé dans svn, dans cette réponse à ton post ? :
http://www.prestashop.com/forums/viewreply/408629/
Link to comment
Share on other sites

Non bug cité dans la première partie du message a été corrigé mais pas les autres bugs.
Bonne soirée

Mon équipe et moi m^me travaillions actuellement sur l'api et chaque jours nous trouvons au moins un bug.

Bonns soirée et bonne nuit
Mikael

Link to comment
Share on other sites

Merci,
J'ai relu le topic en entier entre temps...
Ce que suggère Lucas Cherifi , c'est que vous postiez dans le bug tracker les bugs que vous rencontrez, justement.
De manière générale il me semble que c'est la seule méthode pour s'assurer qu'ils soient traités.
Compte tenu que toi et ton équipe avez le nez dedans , il serait bon que vous vous inscriviez sur le bug tracker ;-)
Pour le bénéfice de tous :-)

Je n'ai pas encore touché aux webservices pour ma part, mais je suis sûr qu'ils me seront nécessaires à un moment ou un autre.

Bonne soirée

Link to comment
Share on other sites

En regardant vite fait le code, j'ai fait quelques modifications qui permettent de résoudre le problème, mais je suis pas sûr que ça soit vraiment correct et que ça n'engendre pas d'autres problèmes.

Alors ça se passe dans le fichier classes/WebserviceRequest.php

l.1221 :
j'ai rajouté un test supplémentaire
avant :

$ret .= ' xlink:href="'.$this->_wsUrl.$field['xlink_resource']['resourceName'].'/'.
(isset($field['xlink_resource']['subResourceName']) ? 
$field['xlink_resource']['subResourceName'].'/'.$object->id.'/' : '').
($this->_schemaToDisplay != 'synopsis' ? $object->$key : '').'"';


après :

$ret .= ' xlink:href="'.$this->_wsUrl.$field['xlink_resource']['resourceName'].'/'.
((isset($field['xlink_resource']['subResourceName']) && $this->_schemaToDisplay != 'synopsis') ? 
$field['xlink_resource']['subResourceName'].'/'.$object->id.'/' : '').
($this->_schemaToDisplay != 'synopsis' ? $object->$key : '').'"';



l.1236 :
j'ai également rajouté un test supplémentaire
avant :

if ($this->_resourceConfiguration['objectNodeName'] == 'product' && $key == 'price')


après :

if ($this->_resourceConfiguration['objectNodeName'] == 'product' && $key == 'price' && $this->_schemaToDisplay != 'blank' && $this->_schemaToDisplay != 'synopsis')



Ce sont à chaque fois les accès à l'objet $object qui posent problème mais celui-ci est null...

Qu'est-ce que vous en pensez ?

Link to comment
Share on other sites

  • 3 weeks later...

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