HomeMenu throws 302
Hello, I am writing a fronting app, and I try to integrate it with existing apps.
I run my app in jetty on port 9444, while the jfs is running on 9443), therefore I had to configure friends & whitelists (I have proxy service). But when I try to access the home button, I get following entries in the console:
GET https://127.0.0.1:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard
302 Found
Location: https://localhost:9443/jts/authenticated/identity?redirectPath=%2Fjts%2Fhome-menu-dashboard
Service error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
GET https://127.0.0.1:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue
500 Internal Server Error
Service error: Unexpected exception : uri1 must be absolute com.ibm.team.jfs.app.http.util.HostUtil.authorityEquiv(HostUtil.java:54) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.getFriendForRealm(OAuthCookieNames.java:346) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.parseAndSyncRealmMappings(OAuthCookieNames.java:164) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.<init>(OAuthCookieNames.java:94) net.jazz.ajax.service.internal.http.ProxyHandler.forwardToUri(ProxyHandler.java:512) net.jazz.ajax.service.internal.http.ProxyHandler.handle(ProxyHandler.java:451) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.doWrappedService(AbstractHandlerWrapperServlet.java:136) net.jazz.ajax.service.internal.EndpointRegistrar$1.doWrappedService(EndpointRegistrar.java:83) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.service(AbstractHandlerWrapperServlet.java:109) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:62) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:811)
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue status:500
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
How can I get the dashboards working? All those urls pasted into the browser work fine. Also, IE works fine, the problem is only under FF and Chrome.
I run my app in jetty on port 9444, while the jfs is running on 9443), therefore I had to configure friends & whitelists (I have proxy service). But when I try to access the home button, I get following entries in the console:
GET https://127.0.0.1:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard
302 Found
Location: https://localhost:9443/jts/authenticated/identity?redirectPath=%2Fjts%2Fhome-menu-dashboard
Service error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
GET https://127.0.0.1:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue
500 Internal Server Error
Service error: Unexpected exception : uri1 must be absolute com.ibm.team.jfs.app.http.util.HostUtil.authorityEquiv(HostUtil.java:54) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.getFriendForRealm(OAuthCookieNames.java:346) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.parseAndSyncRealmMappings(OAuthCookieNames.java:164) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.<init>(OAuthCookieNames.java:94) net.jazz.ajax.service.internal.http.ProxyHandler.forwardToUri(ProxyHandler.java:512) net.jazz.ajax.service.internal.http.ProxyHandler.handle(ProxyHandler.java:451) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.doWrappedService(AbstractHandlerWrapperServlet.java:136) net.jazz.ajax.service.internal.EndpointRegistrar$1.doWrappedService(EndpointRegistrar.java:83) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.service(AbstractHandlerWrapperServlet.java:109) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:62) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:811)
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue status:500
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
How can I get the dashboards working? All those urls pasted into the browser work fine. Also, IE works fine, the problem is only under FF and Chrome.
3 answers
The code I'm looking at isn't quite in line with your stack trace below, but my guess is that your friend registrations on 9444 are somehow botched, such that URI.isAbsolute(...) answers false.
Service error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
GET https://127.0.0.1:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue
500 Internal Server Error
Service error: Unexpected exception : uri1 must be absolute com.ibm.team.jfs.app.http.util.HostUtil.authorityEquiv(HostUtil.java:54) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.getFriendForRealm(OAuthCookieNames.java:346) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.parseAndSyncRealmMappings(OAuthCookieNames.java:164) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.<init>(OAuthCookieNames.java:94) net.jazz.ajax.service.internal.http.ProxyHandler.forwardToUri(ProxyHandler.java:512) net.jazz.ajax.service.internal.http.ProxyHandler.handle(ProxyHandler.java:451) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.doWrappedService(AbstractHandlerWrapperServlet.java:136) net.jazz.ajax.service.internal.EndpointRegistrar$1.doWrappedService(EndpointRegistrar.java:83) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.service(AbstractHandlerWrapperServlet.java:109) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:62) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:811)
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue status:500
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
How can I get the dashboards working? All those urls pasted into the browser work fine. Also, IE works fine, the problem is only under FF and Chrome.
Hello, I am writing a fronting app, and I try to integrate it with existing apps.
I run my app in jetty on port 9444, while the jfs is running on 9443), therefore I had to configure friends & whitelists (I have proxy service). But when I try to access the home button, I get following entries in the console:
GET https://127.0.0.1:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard
302 Found
Location: https://localhost:9443/jts/authenticated/identity?redirectPath=%2Fjts%2Fhome-menu-dashboard
Service error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
GET https://127.0.0.1:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue
500 Internal Server Error
Service error: Unexpected exception : uri1 must be absolute com.ibm.team.jfs.app.http.util.HostUtil.authorityEquiv(HostUtil.java:54) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.getFriendForRealm(OAuthCookieNames.java:346) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.parseAndSyncRealmMappings(OAuthCookieNames.java:164) com.ibm.team.jfs.app.util.oauth.OAuthCookieNames.<init>(OAuthCookieNames.java:94) net.jazz.ajax.service.internal.http.ProxyHandler.forwardToUri(ProxyHandler.java:512) net.jazz.ajax.service.internal.http.ProxyHandler.handle(ProxyHandler.java:451) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.doWrappedService(AbstractHandlerWrapperServlet.java:136) net.jazz.ajax.service.internal.EndpointRegistrar$1.doWrappedService(EndpointRegistrar.java:83) com.ibm.team.server.httpcore.bridge.AbstractHandlerWrapperServlet.service(AbstractHandlerWrapperServlet.java:109) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120) com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:62) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:811)
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fccm%2Fhome-menu-project%3Fall%3Dtrue status:500
Error: Unable to load https://localhost:9444/support/proxy?uri=https%3A%2F%2Flocalhost%3A9443%2Fjts%2Fhome-menu-dashboard status:0
How can I get the dashboards working? All those urls pasted into the browser work fine. Also, IE works fine, the problem is only under FF and Chrome.
The config is pretty simple:
However, possibly broken friends config does not explain why IE works.
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:jd="http://jazz.net/xmlns/prod/jazz/discovery/1.0/" >
<jd:Friend>
<dc:title xml:lang="en">JTS</dc:title>
<jd:rootServices rdf:resource="https://localhost:9443/jts/rootservices" />
</jd:Friend>
</rdf:RDF>
However, possibly broken friends config does not explain why IE works.
Ok, I have solved the issue by changing my friends.rdf:
I also added rootservice and registered the application instead of using customers and whitelists.
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:jd="http://jazz.net/xmlns/prod/jazz/discovery/1.0/"
xmlns:jfs="http://jazz.net/xmlns/prod/jazz/jfs/1.0/" >
<jd:Friend>
<dc:title xml:lang="en">JTS</dc:title>
<jd:rootServices rdf:resource="https://localhost:9443/jts/rootservices" />
<jfs:internal>false</jfs:internal>
<jfs:oauthConsumerSecret>secret</jfs:oauthConsumerSecret>
<jfs:oauthConsumerKey>key</jfs:oauthConsumerKey>
<jfs:oauthDomain>https://localhost:9443/jts,https://localhost:9444/myapp</jfs:oauthDomain>
</jd:Friend>
</rdf:RDF>
I also added rootservice and registered the application instead of using customers and whitelists.