Hello,
Not sure if anyone tried CLM V4 on Linux with Public URI of a reverse proxy server. I really had painful expeirnece and still can not go through to the last step successfully. The "Link Applications" at ADMIN (LPA) setup failed with CRJCA0003E. I tried the CLM setup on the same machines without using reverse proxy server and did not get any error. The reverse proxy server (IBM HTTPS) was verified before the CLM setup.
(Sorry for the long post. Really hope some expert could catch something from the error/log contents.)
1. System Setting:
Machine A: Reverse Proxy Server with IBM HTTPS V8.0.0.3
Machine B: WAS ND V8.0.0.3 Server
Machine C: DB2 V9.7 FP5
OS for all systems: RHEL 6 X64, 8GB RAM and 1 Core
2. High level description of the setup process
1) CLM Module mapping was done and https://<reverse-proxy-hostname>/jts was used for Public URI in both cases.
3) During the setup, the RM and LPA internal licenses were missing on JTS server, which gave errors during RM or ADMIN setup. I had to use https://jazzlnx3.rmtools.ssh has indicated a problem with an
LPA request.
>>> GET https://jazzlnx3.rmtools.ssh/jts/proxy?uri=https%3A%2F%2Fjazzlnx3.rmtools.ssh%2Fqm%2Fserv
ice%2Fcom.ibm.team.repository.service.internal.oauth.IOAuthRestService%2FgenerateNewSecret HTTP/1
.1
>>> X-jazz-downstream-auth-client-level: 4.0
>>> X-jazz-proxy-chained-callback: https://jazzlnx3.rmtools.ssh/admin/oauthCallback
>>> Accept: text/json
>>> X-Requested-With: JazzHttpClient
>>> X-socket-timeout: 1200
<<< HTTP/1.1 500 Internal Server Error
<<< Date: Wed, 25 Jul 2012 01:40:12 GMT
<<< Server: IBM_HTTP_Server
<<< X-Powered-By: Servlet/3.0
<<< $WSEP:
<<< Content-Length: 221
<<< Connection: close
<<< Content-Type: text/html;charset=ISO-8859-1
<<< Content-Language: en-US
Error 500: org.eclipse.core.runtime.AssertionFailedException: null argument:The local application's root services could not be fetched, contained invalid content, or was missing the required entry for jfs:oauthDomain
2012-07-24 21:40:12,762 [ Thread-392] ERROR com.ibm.team.lpa.config -
com.ibm.team.lpa.automation.TaskException: CRJCA0003E The Lifecycle Project Administration (LPA) application made a request that was answered by an unexpected response code. The request was: https://jazzlnx3.rmtools.ssh/qm/service/com.ibm.team.repository.service.internal.oauth.IOAuthRestService/generateNewSecret. The response was: HTTP/1.1 500 Internal Server Error. For more details, open the help system and search for CRJCA0003E.
at com.ibm.team.lpa.common.tasks.AbstractTask.handleError(AbstractTask.java:145)
at com.ibm.team.lpa.common.tasks.GenerateConsumerSecretTask.runTask(GenerateConsumerSecretTask.java:74)
at com.ibm.team.lpa.common.tasks.AbstractTask.run(AbstractTask.java:56)
at com.ibm.team.lpa.automation.CompositeTask.run(CompositeTask.java:208)
at com.ibm.team.lpa.common.tasks.AbstractCompositeTask.run(AbstractCompositeTask.java:25)
at com.ibm.team.lpa.automation.CompositeTask.run(CompositeTask.java:208)
at com.ibm.team.lpa.automation.CompositeTask$MonitoredSubTask.run(CompositeTask.java:124)
at com.ibm.team.lpa.automation.CompositeTask.run(CompositeTask.java:208)
at com.ibm.team.lpa.common.tasks.LoggingCompositeTask.run(LoggingCompositeTask.java:37)
at com.ibm.team.lpa.automation.AsyncTask$TaskRunner.run(AsyncTask.java:40)
at java.lang.Thread.run(Thread.java:769)
2012-07-24 21:40:12,763 [ Thread-392] ERROR com.ibm.team.lpa.config - Server response: Error 500: org.eclipse.core.runtime.AssertionFailedException: null argument:The local application's root services could not be fetched, contained invalid content, or was missing the required entry for jfs:oauthDomain
The following parts in jts.log may be related to the above errors:
2012-07-24 21:40:12,516 [ WebContainer : 1] ERROR net.jazz.ajax.service.internal.http.ProxyServlet - GET ht
tps://jazzlnx3.rmtools.ssh/jts/proxy
?uri=https%3A%2F%2Fjazzlnx3.rmtools.ssh%2Fqm%2Fservice%2Fcom.ibm.team.repository.service.internal.oauth.IOAuthRestService%2
FgenerateNewSecretHEADER: X-jazz-downstream-auth-client-level = 4.0
HEADER: X-jazz-proxy-chained-callback = https://jazzlnx3.rmtools.ssh/admin/oauthCallback
HEADER: Accept = text/json
HEADER: X-Requested-With = JazzHttpClient
HEADER: X-socket-timeout = 1200
HEADER: Host = jazzlnx3.rmtools.ssh
HEADER: Authorization = OA-th-oa-th-no-ce-"--10-01-15-74-31-15-",-oa-th-to-en-"5-b6-bc-9e-b4-c6-7d-b9-32-37-c3-",-oa-th-co-
su-er-ke-="-fc-f7-f0-d7-02-89-5f-73-df-10-1"- o-ut-_s-gn-tu-e_-et-od-"H-AC-SH-1"- o-ut-_t-me-ta-p=-13-31-04-2"- o-ut-_v-rs-
on-"1-0"- o-ut-_s-gn-tu-e=-m2-CE-Fw-oN-Nz-9z-%2-np-BJ-F4-3D-
HEADER: $WSCS = AES128-SHA
HEADER: $WSIS = true
HEADER: $WSSC = https
HEADER: $WSPR = HTTP/1.1
HEADER: $WSRA = 172.16.173.131
HEADER: $WSRH = 172.16.173.131
HEADER: $WSSN = jazzlnx3.rmtools.ssh
HEADER: $WSSP = 443
HEADER: $WSSI = 3HUAAAEqWUJroKuKDu4cjBSYsglYWFhYe04PUBICAAA=
HEADER: Surrogate-Capability = WS-ESI="ESI/1.0+"
HEADER: _WS_HAPRT_WLMVERSION = -1
Parameter: uri = [https://jazzlnx3.rmtools.ssh/qm/service/com.ibm.team.repository.service.internal.oauth.IOAuthRestService/
generateNewSecret]
org.eclipse.core.runtime.AssertionFailedException: null argument:The local application's root services could not be fetched
, contained invalid content, or was missing the required entry for jfs:oauthDomain
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
at net.jazz.ajax.service.auth.RemoteUser.<init>(RemoteUser.java:42)
at net.jazz.ajax.service.auth.OAuthRemoteUser.<init>(OAuthRemoteUser.java:41)
at net.jazz.ajax.service.auth.OAuthRemoteUser.create(OAuthRemoteUser.java:91)
at net.jazz.ajax.service.auth.RemoteUser.forRequest(RemoteUser.java:88)
at net.jazz.ajax.service.auth.AuthenticatingClientService.getRemoteUser(AuthenticatingClientService.java:150)
at net.jazz.ajax.service.internal.http.ProxyServlet.service(ProxyServlet.java:43)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at net.jazz.ajax.servlets.LoggingHttpServlet.service(LoggingHttpServlet.java:34)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:133)
at com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:154)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)