still same error
Error:
XMLHttpRequest cannot load http://localhost:9001/office/offices/123. No
'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:56696' is therefore not allowed access.
Service code:
@Path("/office/")
public class OfficeOffice {
@GET
@CrossOriginResourceSharing(allowAllOrigins = true, allowOrigins = "
http://localhost:56696" ,allowCredentials = true)
@Path("/offices/{id}/")
@Produces("text/plain")
public String getCustomer(@PathParam("id") String id) {
System.out.println("Serving request to customer id\t"+id);
return "Systems";
}
}
On Fri, Dec 4, 2015 at 4:21 PM, Shashank Dutt Jha <[email protected]>
wrote:
>
> @CrossOriginResourceSharing(
> allowOrigins = {
> "http://localhost:56696", "*"
> },
> allowCredentials = true,
> maxAge = 1,
> allowHeaders = {
> "X-custom-1", "X-custom-2"
> },
> exposeHeaders = {
> "X-custom-3", "X-custom-4"
> }
> )
>
> @Path("/office/")
> public class OfficeOffice {
>
>
> @GET
> @Path("/offices/{id}/")
> @Produces("text/plain")
> public String getCustomer(@PathParam("id") String id) {
> System.out.println("Serving request to customer id\t"+id);
> return "Systems";
> }
> }
>
> On Fri, Dec 4, 2015 at 10:00 AM, Shashank Dutt Jha <[email protected]>
> wrote:
>
>> I added following code: Still facing issue
>>
>> @CrossOriginResourceSharing(
>> allowOrigins = {
>> "http://localhost:56696"
>> },
>> allowCredentials = true,
>> maxAge = 1,
>> allowHeaders = {
>> "X-custom-1", "X-custom-2"
>> },
>> exposeHeaders = {
>> "X-custom-3", "X-custom-4"
>> }
>> )
>>
>> @Path("/office/")
>> public class OfficeOffice {
>> int count = 0;
>> Object obj = new Object();
>> @Context
>> private HttpHeaders headers;
>>
>> @GET
>> @CrossOriginResourceSharing(allowOrigins = { "http://localhost:56696" },
>> allowCredentials = false, exposeHeaders = {
>> "X-custom-3", "X-custom-4" })
>> @Path("/offices/{id}/")
>> @Produces("text/plain")
>> public String getCustomer(@PathParam("id") String id) {
>> synchronized (obj) {
>> ++count;
>> System.out.println("----invoking getCustomer, Customer id is: " + count);
>> }
>> return "Systems";
>> // return Response.status(Status.OK).entity("works").build();
>> }
>>
>> // This method will do a preflight check itself
>> @OPTIONS
>> @Path("/")
>> @LocalPreflight
>> public Response options() {
>> String origin = headers.getRequestHeader("Origin").get(0);
>> if ("http://localhost:56696".equals(origin)) {
>> return Response.ok()
>>
>> .header(CorsHeaderConstants.HEADER_AC_ALLOW_METHODS, "DELETE PUT")
>>
>> .header(CorsHeaderConstants.HEADER_AC_ALLOW_CREDENTIALS, "false")
>>
>> .header(CorsHeaderConstants.HEADER_AC_ALLOW_ORIGIN, "
>> http://localhost:56696")
>> .build();
>> } else {
>> return Response.ok().build();
>> }
>> }
>>
>> @GET
>> @CrossOriginResourceSharing(
>> allowOrigins = { "http://localhost:56696" },
>> allowCredentials = true,
>> exposeHeaders = { "X-custom-3", "X-custom-4" }
>> )
>> @Produces("text/plain")
>> @Path("/annotatedGet/{echo}")
>> public String annotatedGet(@PathParam("echo") String echo) {
>> return echo;
>> }
>>
>> On Thu, Dec 3, 2015 at 4:51 PM, Sergey Beryozkin <[email protected]>
>> wrote:
>>
>>> Please do not copy exception traces into Subject :-)
>>>
>>> Have a look at
>>> http://cxf.apache.org/docs/jax-rs-cors.html
>>>
>>> Register that filter as a provider
>>>
>>> Sergey
>>> On 03/12/15 11:04, Shashank Dutt Jha wrote:
>>>
>>>> I want the REST server to be accessible to web/ browser app. Which is
>>>> correct example to refer to.
>>>>
>>>> On Wed, Dec 2, 2015 at 11:15 AM, Shashank Dutt Jha <
>>>> [email protected]>
>>>> wrote:
>>>>
>>>> Server side code:
>>>>>
>>>>> protected Server() throws Exception {
>>>>> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>>>>> sf.setResourceClasses(CustomerService.class);
>>>>> sf.setResourceProvider(CustomerService.class,
>>>>> new SingletonResourceProvider(new CustomerService()));
>>>>> sf.setAddress("http://161.85.91.7:9000/");
>>>>> sf.create();
>>>>>
>>>>>
>>>>> -------
>>>>> When I try to connect to server from chrome browser I get following
>>>>> error
>>>>>
>>>>> MLHttpRequest cannot load http://161.85.91.7:9001/office/offices/123.
>>>>> 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:56696' is therefore not allowed access.
>>>>>
>>>>>
>>>>> How to resolve this issue?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> --
>>> Sergey Beryozkin
>>>
>>> Talend Community Coders
>>> http://coders.talend.com/
>>>
>>
>>
>