Ошибка Magento REST API: неверный xml

Похоже, мой вопрос такой же, как и этот: Magento Rest Api Неверный XML, но на него все еще нет ответа..

Я только что установил magento 1.9 с примерами данных на моем локальном хосте и пытался протестировать REST API. Я установил роли REST и атрибуты REST для ВСЕХ в административной панели. Но когда я пытаюсь ввести в браузере следующий URL: http://magentohost/api/rest/products?limit=2

Я получаю ответ:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <script/>
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>Sender</faultcode>
      <faultstring>Invalid XML</faultstring>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

error_log пуст,

access_log:

GET /magentohost/api/rest/products?limit=2 HTTP/1.1" 500

Похоже, я что-то пропустил в настройках.. Спасибо за любую помощь!

4 ответа

Решение

Вам нужно будет отредактировать ваш файл.htaccess. В строке 12.htaccess раскомментируйте строку "Опции -Multiviews".

В случае мыльного клиента Magento, который я сгенерировал для.Net Core C# ( используя это), мне просто нужно было создать клиент с помощью конструктора по умолчанию, а не предоставлять конечную точку и привязывать себя. Конструктор по умолчанию устанавливает множество параметров клиента, включая URL-адрес конечной точки, режим безопасности, разрешенные файлы cookie и т. Д.

Если у вас возникли проблемы с получением wsdl, убедитесь, что у вас есть? Wsdl в конце вашего URL. Например:

https://dev2.mydomain.org/index.php/api/v2_soap/index/

Скажет "Неверный XML", но

https://dev2.mydomain.org/index.php/api/v2_soap/index/?wsdl

буду работать.

Просто на случай, если это кому-то поможет - убедитесь, что ключ API, который вы установили, не включает никаких специальных символов (наряду с шагами, также упомянутыми здесь в качестве ответов)

Другие вопросы по тегам