Estamos desenvolvendo um aplicativo Android para um site magento. Temos que passar a API SOAP do magento para o android para obter o ID da sessão.
Criamos usuário da web SOAP e funções no painel de administração do magento seguindo este link:
https://www.yireo.com/tutorials/magebridge/administration/596-step-by-step-create-a-magento-api-user
Quando tentamos conectar do android ao magento, estamos recebendo um erro. Este é o link que estamos usando:
magento-1.9
soap
soap-api-v2
Bebê em Magento
fonte
fonte
Respostas:
O servidor SOAP precisa ser inicializado com o WSDL para entender como processar solicitações recebidas (basicamente carrega o WSDL a partir da URL especificada no caso do Magento). Isso acontece em
\Mage_Api_Model_Server_Adapter_Soap::_instantiateServer()
:Observe que
getWsdlUrl()
constrói o URL WSDL com base no URL base da instância do Magento. Isso significa que, se sua loja Magento não estiver acessível no host em que está implantada, o servidor SOAP não poderá carregar o WSDL durante a inicialização. Como resultado, você encontrará esse erro ao tentar executar solicitações à API SO Magento.fonte
/etc/hosts
servidor.\Mage_Api_Model_Server_Adapter_Soap::_instantiateServer()
Eu estava enfrentando o mesmo problema. Instalei a ponte orocrm que precisa acessar a API do soap, segui as etapas fornecidas para configurar uma função e um usuário do soap e tentei conectar: 💥
Depois de cavar os logs, notei este erro:
Eu descobri por que tive esse problema. Na verdade, isso não estava relacionado ao orocrm, mas ao magento. Esse foi um problema de firewall. Na verdade, eu adicionei corretamente as regras para permitir que o servidor de CRM ataque a API do Magento, mas essa precisa se estender por si! Então, depois de algumas dores de cabeça, eu apenas adicionei uma regra no firewall do servidor magento para permitir que ele (o servidor magento) alcance sua própria API (tipo de pesquisa externa) ...
Enfim, espero que isso economize algumas horas para alguém
fonte