Проблема была в конфигурации на стороне сервера. Мы используем apigee для нашего API, поэтому для CORS требуется некоторая настройка.
Вот настройки:
<FaultResponse>
<Set>
<StatusCode>200</StatusCode>
<ReasonPhrase>CORS OK</ReasonPhrase>
<Headers>
<Header name="Access-Control-Allow-Methods">GET, POST, PUT, DELETE, PATCH</Header>
<Header name="Access-Control-Allow-Origin">*</Header>
<Header name="Access-Control-Allow-Headers">authorization,content-type,api-key</Header>
</Headers>
<Payload/>
<!-- Remove default fault content. -->
</Set>
</FaultResponse>
Добавьте политику RaisFault в свой поток с условием.
<Condition>request.verb == "OPTIONS" AND request.header.origin != null AND request.header.Access-Control-Request-Method != null</Condition>