Nous développons une application Android pour un site magento. Nous devons passer l'API SOAP de magento à android pour obtenir l'identifiant de session.
Nous avons créé l'utilisateur Web SOAP et les rôles dans le panneau d'administration de magento en suivant ce lien:
https://www.yireo.com/tutorials/magebridge/administration/596-step-by-step-create-a-magento-api-user
Lorsque nous essayons de nous connecter d'Android à Magento, nous obtenons une erreur. Voici le lien que nous utilisons:
magento-1.9
soap
soap-api-v2
Bébé à Magento
la source
la source
Réponses:
Le serveur SOAP doit être initialisé avec WSDL pour comprendre comment traiter les demandes entrantes (il charge essentiellement WSDL à partir de l'URL spécifiée dans le cas de Magento). Cela se produit dans
\Mage_Api_Model_Server_Adapter_Soap::_instantiateServer()
:Notez que
getWsdlUrl()
construit l'URL WSDL en fonction de l'URL de base de votre instance Magento. Cela signifie que si votre magasin Magento n'est pas accessible depuis l'hôte sur lequel il est déployé, le serveur SOAP ne pourra pas charger WSDL lors de l'initialisation. Par conséquent, vous rencontriez une telle erreur lorsque vous tentiez d'effectuer des demandes à l'API SOAP de Magento.la source
/etc/hosts
sur le serveur.\Mage_Api_Model_Server_Adapter_Soap::_instantiateServer()
Je rencontrais le même problème. J'ai installé le pont orocrm qui doit accéder à l'api soap, j'ai suivi les étapes données pour configurer un rôle soap et un utilisateur, puis j'ai essayé de me connecter: 💥
Après avoir creusé dans les journaux, j'ai remarqué cette erreur:
J'ai compris pourquoi j'ai rencontré ce problème. En fait, ce n'était pas lié à orocrm mais à magento. C'était un problème de pare-feu. En fait, j'ai ajouté correctement les règles pour permettre au serveur crm d'attaquer l'api magento mais celui-ci doit se tendre! Donc après quelques maux de tête, j'ajoute juste une règle sur le pare-feu du serveur magento pour se permettre (le serveur magento) d'atteindre son propre api (sorte de recherche externe) ...
Quoi qu'il en soit, j'espère que cela fera gagner quelques heures à quelqu'un
la source