Hi Thilini,

I have tried mapping localhost to a different domain and the issue still
remains. Furthermore the options call using curl as following also gives a
403.

curl -X  options -H "Origin: test.com" -H "Content-Type: application/json"
> -H "Authorization: Basic YWRtaW46YWRtaW4=" -v
> https://localhost:9443/api/datasets -k


but the following returns the correct headers.

curl -X  options  -H "Content-Type: application/json" -H "Authorization:
> Basic YWRtaW46YWRtaW4=" -v https://localhost:9443/api/datasets -k



On Wed, Nov 25, 2015 at 9:06 AM, Thilini Cooray <thili...@wso2.com> wrote:

> Hi,
>
> [1] has mentions that Chrome does not support localhost to go through the
> Access-Control-Allow-Origin, therefore we need to map localhost to a
> different domain. Further details regarding this issue in chrome is
> discussed in [2].
>
> Can this be any help for you?
>
> [1]
> http://stackoverflow.com/questions/28547288/no-access-control-allow-origin-header-is-present-on-the-requested-resource-err
> [2] https://code.google.com/p/chromium/issues/detail?id=67743
>
> Thanks.
>
> On Tue, Nov 24, 2015 at 9:59 PM, Fazlan Nazeem <fazl...@wso2.com> wrote:
>
>> Hi,
>>
>> I need cross origin support for a REST API. In order to achieve it I am
>> trying to set the following headers in the response.
>>
>>> "Access-Control-Allow-Origin", "*"
>>> "Access-Control-Allow-Headers","*"
>>> "Access-Control-Allow-Methods","GET, POST, DELETE"
>>
>>
>>
>> My current implementation is as follows.
>>
>> in web.xml
>>
>>> <filter>
>>> <filter-name>CorsFilter</filter-name>
>>> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
>>> </filter>
>>>
>>
>>
>>> <filter-mapping>
>>> <filter-name>CorsFilter</filter-name>
>>> <url-pattern>/*</url-pattern>
>>
>>    </filter-mapping>
>>
>>>
>>>
>>
>> the Rest implementation
>>
>> @Path("/datasets")public class DatasetApiV10 extends MLRestAPI {
>>
>>   @OPTIONS
>>     public Response options() {
>>         return  Response.ok().header("Access-Control-Allow-Origin", 
>> "*").header("Access-Control-Allow-Headers","*").header("Access-Control-Allow-Methods","GET,
>>  POST, DELETE").build();
>>     }
>>
>> Cross origin headers are *not set *in the response header when a cross
>> origin call is made, but those headers are *set* when I do a local
>> OPTIONS call for the API using cURL or a REST client.
>>
>> Following is the error message I am getting in chrome console.
>>
>> XMLHttpRequest cannot load https://localhost:9443/api/datasets. Response
>> to preflight request doesn't pass access control check: No
>> 'Access-Control-Allow-Origin' header is present on the requested resource.
>> Origin 'http://localhost:8080' is therefore not allowed access. The
>> response had HTTP status code 403
>>
>>
>> Any suggestion to solve this issue?
>>
>>
>> --
>> Thanks & Regards,
>>
>> Fazlan Nazeem
>>
>> *Software Engineer*
>>
>> *WSO2 Inc*
>> Mobile : +94772338839
>> <%2B94%20%280%29%20773%20451194>
>> fazl...@wso2.com
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Best Regards,
>
> *Thilini Cooray*
> Software Engineer
> Mobile : +94 (0) 774 570 112 <%2B94%20%280%29%20773%20451194>
> E-mail : thili...@wso2.com
>
> WSO2 Inc. www.wso2.com
> lean.enterprise.middleware
>



-- 
Thanks & Regards,

Fazlan Nazeem

*Software Engineer*

*WSO2 Inc*
Mobile : +94772338839
<%2B94%20%280%29%20773%20451194>
fazl...@wso2.com
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to