I dumped the exchange, and Origin isn't in there. I haven't turned on
the logging interceptors yet.
[null, null, null, null, null, null, null, null, null,
org.apache.cxf.message.Message.PROTOCOL_HEADERS={Accept=[text/plain],
Cache-Control=[no-cache], connection=[keep-alive], content-type=[*/*],
Host=[localhost:9000], Pragma=[no-cache], User-Agent=[Apache CXF
${project.version}]}, null, null, null, null, null, null,
HTTP_CONTEXT_MATCH_STRATEGY=stem,
org.apache.cxf.request.url=http://localhost:9000/simpleGet/HelloThere,
null, null, null, null,
org.apache.cxf.request.uri=/simpleGet/HelloThere, null,
org.apache.cxf.resource.method=public java.lang.String
org.apache.cxf.systest.jaxrs.cors.CorsServer.simpleGet(java.lang.String),
HTTP.REQUEST=(GET /simpleGet/HelloThere)@372285153
org.eclipse.jetty.server.Request@16309ee1, null, null,
HTTP.CONFIG=org.eclipse.jetty.servlet.ServletHolder$Config@520ed128,
Accept=text/plain, null,
org.apache.cxf.message.Message.PATH_INFO=/simpleGet/HelloThere, null,
null, null, null, null, null, null, null,
org.apache.cxf.continuations.ContinuationProvider=org.apache.cxf.transport.http.Servlet3ContinuationProvider@4ac5c32e,
null, null, null,
org.apache.cxf.message.Message.IN_INTERCEPTORS=[org.apache.cxf.transport.https.CertConstraintsInterceptor@7d91275b],
null, null, org.apache.cxf.message.Message.QUERY_STRING=null,
HTTP.RESPONSE=HTTP/1.1 200
On Wed, Nov 30, 2011 at 2:47 PM, Benson Margulies <[email protected]> wrote:
> I'm failing to set an Origin header with a WebClient. Here's the
> client side code, and the header does not make it to the other end.
>
> This makes it rather difficult to write tests for CORS.
>
> On the other hand, should WebClient have native support for the client
> side of CORS? That's complex and unpleasant in prospect.
>
>
> String origin = "http://localhost:" + PORT;
> WebClient wc = WebClient.create(origin + "/");
> // Since our WebClient doesn't know from Origin, we need to do
> this ourselves.
> wc.header("Origin", origin);
> Response r =
> wc.replacePath("/simpleGet/HelloThere").accept("text/plain").get();
> assertEquals(Response.Status.OK.getStatusCode(), r.getStatus());