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/
>>>
>>
>>
>

Reply via email to