Я использую угловой клиент для вызова API отдыха в wso2, который предоставляется из службы данных, не созданной напрямую как API, а также испробовал множество решений, представленных в переполнении стека, а также в документации wso2, ничего не помогает.
WSO2 EI выдает ошибку CORS предварительного запроса при запросе от клиента Angular
Ответы (1)
Что касается запросов OPTIONS в предварительной проверке, WSO2 Enterprise Integrator (EI) ведет себя следующим образом в зависимости от реализации API.
- Если мы определили OPTIONS как ресурсный метод, то EI отправляет запрос серверной службе для сбора информации.
- Если мы не определили 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