Magento api: adattatore webservice non valido specificato

C'è qualcosa di specifico che devo fare per far funzionare l'API in Magento?

Sto visitando / api / soap /? Wsdl sulla mia installazione locale (1.7) e restituisce il seguente errore:

Invalid webservice adapter specified. 

Tutto sembra abilitato nel sito ma non posso trovare alcuna informazione su altri passaggi che devo fare per far funzionare l'API.

Ho risolto questo problema da htaccess distriggersndo l'opzione MultiViews in questo modo:

a partire dal

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

a

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

Esiste un approccio diverso se si desidera mantenere la compatibilità con le chiamate API precedenti. Per qualche motivo oscuro, il mio server Apache non analizza la string ^api/... durante l'analisi della riscrittura.

Ma puoi comunque usare http://www.somedomain.com/api/v2_soap?wsdl=1 senza modificare il codice PHP Magento. Hai solo bisogno di cambiare il .htaccess come il seguente:

Sostituisci in .htaccess:

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

di

RewriteRule ^api(\.php)?/([az][0-9a-z_]+)/?$ api.php?type=$2 [QSA,L] (vedi ^ api.php / invece di ^ api /)

E ancora meglio se qualcuno di voi ha http://www.somedomain.com/api/V2_soap?wsdl=1 (V2_soap è maiuscolo), si dovrà aggiungere una RewriteMap per usare la function apache interna per impostare in minuscolo il parametro . Aggiungi al tuo host virtuale RewriteMap:

RewriteMap lc int:tolower

E nel .htaccess

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

Questo imposterà in minuscolo il parametro per lo script api.php e accetterà anche "V2_soap" nell'espressione regolare

Quest'ultima parte è stata portta da @dreeves in questa risposta

Ho risolto questo problema modificando nel mio file host virtuale (/etc/apache2/sites-available/mag.dev.conf) questo modo:

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

ora sta caricando la risposta xml.

il platfrom è ubuntu 12.04