Подтвердить что ты не робот

Magento api: указан неверный адаптер webservice

Есть ли что-то конкретное, что мне нужно сделать, чтобы получить api в magento?

Я посещаю /api/soap/? wsdl на моей локальной установке (1.7) и возвращает следующую ошибку:

Invalid webservice adapter specified.

Все выглядит на сайте, но я не могу найти информацию о других шагах, которые мне нужно сделать, чтобы заставить api работать.

4b9b3361

Ответ 1

Я решил это из htaccess, отключив параметр MultiViews следующим образом:

от

<Directory /var/www/magento>
            Options Indexes FollowSymLinks MultiViews
</Directory>

to

<Directory /var/www/magento>
            Options +Indexes +FollowSymLinks -MultiViews
</Directory>

Ответ 2

Существует другой подход, если вы хотите поддерживать совместимость со старыми вызовами API. По какой-то непонятной причине мой сервер Apache не анализирует строку ^api/... во время разбора перезаписи.

Но вы все равно можете использовать http://www.somedomain.com/api/v2_soap?wsdl=1 без изменения кода Magento PHP. Вам просто нужно изменить .htaccess следующим образом:

Заменить в .htaccess:

RewriteRule ^api/([a-z][0-9a-z_]+)/?$ api.php?type=$1 [QSA,L]

по

RewriteRule ^api(\.php)?/([a-z][0-9a-z_]+)/?$ api.php?type=$2 [QSA,L] (см. ^ api.php/вместо ^ api/)

И даже лучше, если некоторые из вас имеют http://www.somedomain.com/api/v2_soap?wsdl=1 (V2_soap в верхнем регистре), вам нужно будет добавить RewriteMap, чтобы использовать внутреннюю функцию apache для установки в нижнем регистре параметра. Добавьте на свой виртуальный хост RewriteMap:

RewriteMap lc int:tolower

И в .htaccess

RewriteRule ^api(\.php)?/([a-zA-Z][0-9a-z_]+)/?$ api.php?type=${lc:$2} [QSA,L]

Это приведет к тому, что будет указан нижний регистр для параметра api.php script, а также принять 'V2_soap' в регулярном выражении

Эта последняя часть была представлена ​​@dreeves в этом ответе

Ответ 3

Я решил это путем редактирования в моем файле виртуального хоста (/etc/apache2/sites-available/mag.dev.conf) следующим образом:

    <Directory /var/www/mag/mag>
      Options +Indexes +FollowSymLinks -MultiViews
      .....
    </Directory>

теперь загружает xml-ответ.

platfrom is ubuntu 12.04