IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Flex et webservice Magento


Sujet :

Flex

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Flex et webservice Magento
    Bonjour,
    Dans le cadre d'une application en Flex, je dois interroger un webservice Magento. L'interrogation du webservice se fait sans problèmes mais dès qu'il faut mettre des options de filtre, le webservice ne les prend pas en compte.

    En php, tout fonctionne parfaitement. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $filters = array(
            'sku' => array('like'=>'ERNES%')
    );
    $products = $proxy->call($sessionId, 'product.list',array($filters));
    J'ai presque tout tenter, les dictionnaires, le xml mais rien n'y fait.
    quelqu'un a-t-il une solution ?

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Salut,

    la, tu nous donnes du code PHP , mais le soucis c'est que tu fais tes appels depuis Flex, donc nous faudrait du code AS3

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Ouis je sais, j'ai effectivement donné le code php car je pensais que quelqu'un serait capable de transcrire ce code en actionscript.

    Concernant mon code flex, voici mon composant webservice
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <mx:WebService
            id="userRequest"
            wsdl="wsdl">
    			<mx:operation
    				name="login"
    				resultFormat="e4x"
    				showBusyCursor="true"
    				fault="mx.controls.Alert.show('erreur => '+event.fault.faultString)"
    				result="getIdSession(event)">
    			</mx:operation>
    			<mx:operation
    				name="call"
    				resultFormat="e4x"
    				showBusyCursor="true"
    				fault="mx.controls.Alert.show('erreur => '+event.fault.faultString)"
    				result="remotingCFCHandler(event)">
    			</mx:operation>
    		</mx:WebService>
    et mon code actionscript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    		private function getIdSession(event:ResultEvent):void {
     
    			sessionId = XML(event.result).loginReturn;	
     
    			var filters:Dictionary = new Dictionary();
    			var sku:Dictionary = new Dictionary();
    			var like:Object = new Object();
     
    			sku[like] = "ERNES%";
    			filters[sku] = sku;
     
    			//requete info produit
    			userRequest.getOperation("call").send(
    			sessionId,
    			"product.list",
    			filters);
    		}
    A savoir que ce code-ci me renvoie une erreur et ne fonctionne pas du tout.

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Après qq rapide recherche il semble que les webservice Magento soit un peu particulier et pas certains que cela passe en natif sur flex ... il sembe falloir passer par une surcouche style AMFphp ...

    le problème se situerait sur les headers que renvoi l'api magento

    http://www.magentocommerce.com/boards/viewthread/20255/

    c'est vraiment spécifique magento à priori.

    tu peux peut etre tenter de voir ce que te retourne l'api avec un traceur genre Charles ou WireShark ...

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci pour ton aide.
    Je me douter bien que Magento avait une api un peu bizarre. J'ai effectivement capté les messages SOAP que j'envoie en php et je tente de les reconstruire en flex mais impossible. Il semble que l'objet soapclient en php encode le message de manière spécifique.
    Je vais quand même tenter de creuser mais j'y crois pas trop.
    Encore merci

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Le problème a été résolu. Tout dépend comment est généré le fichier wsdl. Apparemment il y aura 2 versions. La version 2 a été faite pour plus de compatibilité avec .NET et Java. Mais elle permet aussi d'utiliser les webservices magento en natif en actionscript. Problème, il n'y a que très peu de doc sur l'api de la version 2

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD17] Problème retour données WebService Magento
    Par Xipotera dans le forum WinDev
    Réponses: 2
    Dernier message: 23/08/2013, 10h40
  2. problème de connexion flex/zend_amf sur magento
    Par Invité dans le forum Flex
    Réponses: 7
    Dernier message: 25/06/2010, 17h49
  3. Réponses: 8
    Dernier message: 29/05/2008, 15h04
  4. Utiliser un webservice .NET avec flex
    Par catd dans le forum Flex
    Réponses: 1
    Dernier message: 12/10/2007, 15h46
  5. Flex and WebService
    Par Membor dans le forum Flex
    Réponses: 1
    Dernier message: 03/09/2007, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo