Мы разрабатываем приложение для Android для сайта magento. Мы должны передать SOAP API из magento в android, чтобы получить идентификатор сессии.
Мы создали пользователя и роли SOAP в админ-панели magento, перейдя по этой ссылке:
https://www.yireo.com/tutorials/magebridge/administration/596-step-by-step-create-a-magento-api-user
Когда мы пытаемся подключиться с Android на Magento, мы получаем ошибку. Это ссылка, которую мы используем:
magento-1.9
soap
soap-api-v2
Малыш в Мадженто
источник
источник
Ответы:
Сервер SOAP необходимо инициализировать с помощью WSDL, чтобы понять, как обрабатывать входящие запросы (он в основном загружает WSDL с указанного URL в случае Magento). Это происходит в
\Mage_Api_Model_Server_Adapter_Soap::_instantiateServer()
:Обратите внимание, что
getWsdlUrl()
URL-адрес WSDL создается на основе базового URL-адреса вашего экземпляра Magento. Это означает, что если ваше хранилище Magento недоступно с хоста, на котором оно развернуто, сервер SOAP не сможет загрузить WSDL во время инициализации. В результате вы можете столкнуться с такой ошибкой при попытке выполнить запросы к Magento SOAP API.источник
/etc/hosts
на сервер.\Mage_Api_Model_Server_Adapter_Soap::_instantiateServer()
Я испытывал ту же проблему. Я установил мост orocrm, который должен получить доступ к soap api, выполнил указанные шаги для настройки роли мыла и пользователя, а затем попытался подключиться: 💥
Покопавшись в логах, я заметил эту ошибку:
Я понял, почему я столкнулся с этой проблемой. На самом деле, это было связано не с orocrm, а с magento. Это была проблема с брандмауэром. На самом деле, я правильно добавил правила, позволяющие серверу crm атаковать magento api, но этот должен быть доступен сам! Поэтому после некоторых головных болей я просто добавляю правило на брандмауэр сервера magento, чтобы позволить себе (серверу magento) достигать своего собственного API (вид внешнего поиска) ...
Во всяком случае, я надеюсь, что это сэкономит несколько часов кому-то
источник
Я решаю эту проблему, обновляя автоматический SSL-сертификат на сервере с CentOS / Apache / WHM / cPanel / Magento 1.9.4, подключенным к ERP через SOAP API v2
В журналах Auto SSL есть следующие сообщения:
PM ERROR Статус TLS: Дефект ОШИБКА Дефект: OPENSSL_VERIFY: Цепочка сертификатов не прошла проверку OpenSSL (0: 10: CERT_HAS_EXPIRED)
* В моем случае срок действия сертификата не истек, но у эмитента возникла конкретная проблема: https://forums.cpanel.net/threads/sectigo-issue.673157/
Это вызвало сбой подключения к API со следующим сообщением:
SOAP-ERROR: синтаксический анализ WSDL: невозможно загрузить с « https://www.example.com/api/v2_soap/?wsdl=1 »: не удалось загрузить внешнюю сущность » https://www.example.com/api / v2_soap /? = 1 WSDL
Обновление сертификата решает эту проблему.
Я надеюсь, что это помогает кому-то еще
источник