Jersey Http 404 bei Redirect

mwowc

Neues Mitglied
Hallo *,

ich habe eine REST Service der von eine externen System angesprungen wird (GET).
Ich verarbeiten den Request und machen meine Sachen und will dann zu einem weiteren externen System weiterleiten, z.B.: "http:\\example.com\destination".
Der Code sieht ungefähr so aus:
Java:
    @Path("/serviceXY/v1_0/")
    public class ServiceXYResource {
       
        @Path("success/sfp/mandanten/{mandantnummer}/rechnungen/{rechungsnummer}")
        public Response successXY(@Context final UriInfo uriInfo, 
@NotNull @PathParam("mandantnummer") final String mandantnummer, 
@NotNull @PathParam("rechungsnummer") final String rechung) throws MyException
        {
            //URL parameter auslesen
            MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
            URI targetURIForRedirection;
            try {
                String redirectURL = meinService.doSomething(mandantnummer, rechung, queryParams);
                targetURIForRedirection = new URI(redirectURL);
            } catch (URISyntaxException | MyException exc) {
                logger.debug(exc);
                throw new MyException(exc);
            }
            return Response.seeOther(targetURIForRedirection).build();
        }  
    }

Ich verwende die Version 2.24 von Jersey.
Die Verwendung von Response.seeOther().build entpricht dem was man als Lösung via Google so findet, z.B.: stackoverflow. Dort soll es funktionieren.

Das Problem, es funktioniert nicht. Ich bekomme immer "HTTP Status 404 - Not Found".
Es werden immer vollständige URL verwendet. Ich habe keinen Plan, warum das nicht funktioniert.
Jemand ne Idee?

Thx
 

stg

Top Contributor
Also, zumindestens hier schreibst du die URL falsch...
Ansonsten: Ohne Logs, StackTrace, Quellen oder sonst was, wie so oft keine gescheite Hilfe ohne unverhältnismäßig hohen Aufwand möglich.
 

mwowc

Neues Mitglied
Stimmt URL ist hier falsch. Sry!
Beim Testen werden korrekt URLs "http://example.com/destination" verwendet.
Die MM relvante Quellen ist der Code im ersten Post. Was genau fehlt denn?
Wir habe hier noch ein wenig rumprobiert um irgend etwas ins Logfile zu bekommen.
Dabei ist folgender Stacktrace rausgekommen:
Java:
javax.ws.rs.NotFoundException: HTTP 404 Not Found
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:323)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
 

Ähnliche Java Themen

Neue Themen


Oben