It's all about the answers!

Ask a question

HomeMenu throws 302


Krzysztof Daniel (5163) | asked Feb 02 '11, 10:26 a.m.
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.

3 answers



permanent link
Todd Lainhart (40611) | answered Feb 09 '11, 1:55 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
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.

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.

permanent link
Krzysztof Daniel (5163) | answered Feb 10 '11, 5:38 a.m.
The config is pretty simple:

<?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.

permanent link
Krzysztof Daniel (5163) | answered Feb 11 '11, 7:11 a.m.
Ok, I have solved the issue by changing my friends.rdf:


<?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.

Your answer


Register or to post your answer.