Я працюю над цим питанням вже пару тижнів, і не можу знайти рішення для мене. Те, що я не знайшов гідної документації (на веб-сайті Drupal чи деінде), також не допомагає. А питання тут уже застаріли (Послуги 2.x).
Я намагаюся створити послугу REST для веб-сайту, підтримуваного Drupal Commerce. Наразі всі послуги, які потрібно зробити, це дозволяти виконувати основні операції з CRUD на ресурсі Order, і бути захищеними OAuth, OAuth 2.0 не потрібен. Його також потрібно викликати зі скриптом на сервері, тому перенаправлення входу неможливо (все робиться за допомогою двосторонній аутентифікації).
Поточний стек:
- PHP 5.3.15
- Друпаль 7.15
- Профіль торгівлі Kickstart (7.x-2.0-rc1)
- Послуги 7.x-3.2
- OAuth 7.x-3.0 + 18-dev
- Автентифікація OAuth 7.x-3.2
- Сервер REST 7.x-3.2
- Commerce Services 7.x-1.x-dev (Це модуль, до якого я додав свій власний код замовлення)
Я можу змусити функції Retrieve / Index працювати для замовлень, якщо я використовую бібліотеку PHP OAuth і просто щоразу дзвоню в запит маркера (я навіть не впевнений, що там відбувається, за винятком того, що він підтверджує автентифікацію ...). Якщо я спробую розмістити POST для замовлень та створити замовлення, я отримую 406 зі сценарієм та 401, коли я намагаюся отримати прямий запит POST з консолі REST в Google Chrome, навіть коли OAuth відключений.
Це зробило налагодження кошмаром, оскільки я не маю уявлення, що відбувається всередині моєї функції створення. Я спробував позбавити його логіки створення замовлення і просто повторював корисну навантаження запиту. Все ж отримайте помилки 406/401.
Я припускаю, що я отримую помилки 401, оскільки для замовлення потрібна автентифікація користувача (навіть якщо OAuth вимкнено для служби).
Я не розумію, чому я отримую 406 помилок. Я приймаю application / json, і це те, що мій сервер REST налаштований повернути.
Замовлення не створювались ще до того, як я прокоментував логіку створення замовлень. (Що я ефективно використовую в інших місцях сайту).
Оцінка заздалегідь.
-T