You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Tobias Oberlies (JIRA)" <ji...@apache.org> on 2014/08/27 13:40:58 UTC
[jira] [Updated] (CXF-5973) Response.created(URI) resolves relative
URIs relative to the servlet URI instead of the request URI
[ https://issues.apache.org/jira/browse/CXF-5973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tobias Oberlies updated CXF-5973:
---------------------------------
Description:
According to the [JavaDoc of javax.ws.rs.core.Response.created(URI)|http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/Response.html#created%28java.net.URI%29], relative URIs should be resolved relative to the request URI.
However, CXF resolves the URI relative the the servlet path of the CXFNonSpringJaxrsServlet.
Example:
For a resource at path {{/account/someaccount/entries}} served by a servlet registered at {{/service/b/api}}, the following code should result in a response with the HTTP header {{Location: http://localhost/service/b/api/account/someaccount/entries/newentry}}
{noformat}
@POST
public Response create() {
URI location = new URI("newentry");
return Response.created(location).build();
}
{noformat}
However, the header has the incorrect value {{Location: http://localhost/service/b/api/newentry}}
was:
According to the [JavaDoc of javax.ws.rs.core.Response.created(URI)|http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/Response.html#created%28java.net.URI%29], relative URIs should be resolved relative to the request URI.
However, CXF resolves the URI relative the the servlet path of the CXFNonSpringJaxrsServlet.
Example:
For a resource at path {{/account/someaccount/entries}} served by a servlet registered at {{/service/b/api}}, the following code should result in a response with the HTTP header {{Location: http:}}{{//localhost/service/b/api/account/someaccount/entries/newentry}}
{noformat}
@POST
public Response create() {
URI location = new URI("newentry");
return Response.created(location).build();
}
{noformat}
However, the header has the incorrect value {{Location: http:}}{{//localhost/service/b/api/newentry}}
> Response.created(URI) resolves relative URIs relative to the servlet URI instead of the request URI
> ---------------------------------------------------------------------------------------------------
>
> Key: CXF-5973
> URL: https://issues.apache.org/jira/browse/CXF-5973
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.7.5, 2.7.12
> Reporter: Tobias Oberlies
>
> According to the [JavaDoc of javax.ws.rs.core.Response.created(URI)|http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/Response.html#created%28java.net.URI%29], relative URIs should be resolved relative to the request URI.
> However, CXF resolves the URI relative the the servlet path of the CXFNonSpringJaxrsServlet.
> Example:
> For a resource at path {{/account/someaccount/entries}} served by a servlet registered at {{/service/b/api}}, the following code should result in a response with the HTTP header {{Location: http://localhost/service/b/api/account/someaccount/entries/newentry}}
> {noformat}
> @POST
> public Response create() {
> URI location = new URI("newentry");
> return Response.created(location).build();
> }
> {noformat}
> However, the header has the incorrect value {{Location: http://localhost/service/b/api/newentry}}
--
This message was sent by Atlassian JIRA
(v6.2#6252)