WSO2 EI выдает ошибку CORS предварительного запроса при запросе от клиента Angular

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


person Aisha Raghavanbadal    schedule 19.06.2018    source источник


Ответы (1)


Что касается запросов OPTIONS в предварительной проверке, WSO2 Enterprise Integrator (EI) ведет себя следующим образом в зависимости от реализации API.

  1. Если мы определили OPTIONS как ресурсный метод, то EI отправляет запрос серверной службе для сбора информации.
  2. Если мы не определили OPTIONS в качестве метода ресурса, то EI просто отвечает заголовком «Разрешить» с разрешенными методами без дальнейшей отправки запроса в службу.

Чтобы вышеупомянутый API мог обслуживать запросы из разных источников, включите в API следующий ресурс.

<resource methods="OPTIONS" uri-template="/*">
      <inSequence>
         <property name="Access-Control-Request-Headers" value="authorization,content-type" scope="transport"/>
         <property name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" scope="transport"/>
         <property name="Access-Control-Allow-Headers" value="*" scope="transport" type="STRING"/>
         <property name="Access-Control-Allow-Origin" value="*" scope="transport"/>
         <property name="RESPONSE" value="true" scope="default" type="STRING"/>
         <respond/>
      </inSequence>
</resource>

Обратите внимание, что в приведенном выше образце заданы свойства, разрешающие все источники и все заголовки, и вы можете настроить вышеуказанные свойства в соответствии с вашими требованиями. Вместо приведенных выше подстановочных знаков ("*") можно использовать определенные значения, включая следующее исходное значение, которое было ограничено.

person lashan kokila    schedule 06.11.2018