It's all about the answers!

Ask a question

CLM 4 on Linux with reverse proxy server as Public URI (pain): missing internal licenses and CRJCA0003E error for "Link Applications"


Frank Ning (50025119133) | asked Jul 24 '12, 10:12 p.m.
edited Jul 24 '12, 10:26 p.m.

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&#39;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&#39;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)

Accepted answer


permanent link
Frank Ning (50025119133) | answered Jul 24 '12, 11:42 p.m.

It seems that the reverse proxy server was the one causing the problem. It went through several runs of CLM V4 setup with different proxy servers in the past. 

The reverse proxy server is now recreated after the IBM HTTPs server and Web Server Plugins were completely removed and reinstalled. The CLM setup now went through to the end and the sample CLM project was also successfully created.

Hopefully this "painful" experience can be helpful to anyone who ran into the similar issue.

Thanks for your patience and tolerance.

Ralph Schoon selected this answer as the correct answer

Your answer


Register or to post your answer.