[
https://issues.apache.org/jira/browse/OLINGO-307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14312276#comment-14312276
]
Ramesh Reddy commented on OLINGO-307:
-------------------------------------
IMO, removing the code for redirection from ODataServlet seems better. Then if
there is any redirection or proxying (I am seeing this in cloud and container
environments) needs to be handled in some servlet filter. As far as who (user
or Olingo) wants to write and maintain this filter that can be debatable.
> Issue handling the redirect in ODataServlet
> -------------------------------------------
>
> Key: OLINGO-307
> URL: https://issues.apache.org/jira/browse/OLINGO-307
> Project: Olingo
> Issue Type: Bug
> Components: odata2-core
> Affects Versions: V2 1.2.0
> Reporter: Eugenio Lentini
> Assignee: Michael Bolz
> Priority: Blocker
>
> Hi,
> as I have been suggested I am using the ODataServlet instead of the Cxf or
> Jersey one but I guess there is an issue handling the redirection.
> Basically I have a plain filter used to authorize the user before the call to
> the servlet. I have tested in Glassfish 3, Glassfish 4 and Jetty and the
> redirection works great.
> The issue appears in IBM Websphere which probably interprets the
> specification in a slightly different way so in ODataServlet line 91
> if (req.getPathInfo() != null) {
> handle(req, resp, xHttpMethod, xHttpMethodOverride);
> } else {
> handleRedirect(req, resp);
> }
> the req.getPathInfo() is equal to null when in Glassfish, for instance, is
> "/" submitting the following request
> http://localhost:9080/context-root/odata.svc/?foo=1&bar=2
> In handle redirect method there is
> ODataResponse.status(HttpStatusCodes.TEMPORARY_REDIRECT)
> .header(HttpHeaders.LOCATION, "/").build();
> so after the redirect the request points to http://localhost:9080/ as normal,
> which produces in WebSphere
> Error 404: com.ibm.ws.webcontainer.servlet.exception.NoTargetForURIException:
> No target servlet configured for uri: /
> So I guess instead of "/" there should be something like req.getContextPath()
> Thanks a lot for the attention.
> Eugenio
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)