It's all about the answers!

Ask a question

How to register a ccm app after a bad plugin install?


Jaime Paternina (1111) | asked May 11 '15, 11:06 a.m.
I tried to install a plugin in my CLM 502 server (Windows server 2k8) that had too many dependences. This broke the link between JTS and CCM. I removed the app and try to register again without success. On another post I saw that with WAS that happens. The solution provided was to re install the application fron the WAS (8.5.5.0) console. I did that and followed to register the application.

The problem changed and now I have the following error:

An error occurred while attempting to add the new application to the server.ID CRJAZ1664E
hide details
Request to service https://localhost:9443/ccm/scr failed with status code 400 and response body:
com.ibm.team.repository.common.TeamRepositoryException
com.ibm.team.repository.service.internal.discovery.FriendsAdminRestService.checkHttpResponse(FriendsAdminRestService.java:820)
com.ibm.team.repository.service.internal.discovery.FriendsAdminRestService$1.handleResponse(FriendsAdminRestService.java:751)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:945)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:919)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:910)
com.ibm.team.repository.service.internal.discovery.FriendsAdminRestService.executeHttpRequest(FriendsAdminRestService.java:772)
com.ibm.team.repository.service.internal.discovery.FriendsAdminRestService.getDiscoveryDocumentModel(FriendsAdminRestService.java:759)
com.ibm.team.repository.service.internal.discovery.ApplicationRegistrationFriendRestService.postRegisterApp(ApplicationRegistrationFriendRestService.java:94)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:611)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
com.sun.proxy.$Proxy424.postRegisterApp(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
java.lang.reflect.Method.invoke(Method.java:611)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:567)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2453)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:2244)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1761)
javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:74)
javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:165)
com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:198)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761)
com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:976)
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)

Thanks for all the help you can provide.

One answer



permanent link
Ralph Schoon (58.7k23642) | answered May 11 '15, 11:19 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited May 11 '15, 11:20 a.m.
Did you, request a server reset? Did you remove the update site for the extension? This could probably help: https://rsjazz.wordpress.com/2014/06/12/is-the-extension-deployed-how-can-i-redeploy/ especially the built-on.txt. Except you don't want to redeploy, you want to remove the site.

If the server was setup correctly and registered, then the plugin just needs to be pulled out. The plugin should not have affected the data, especially the friends/registrations. Try to make sure the extension is gone and you should be fine.

Please try the deployment on a test system e.g. Tomcat or WAS based, after development with Jetty and before you deploy on a production system.

Comments
Jaime Paternina commented May 11 '15, 12:03 p.m.

I will recall what I did to get me in this mess:
I started with a working plugin, then I requested a server reset, stopped the server, added a new version of the plugin to the update sites (same folder) - this new version of the plugin had too many dependencies- and finally started the server.

After all the steps, which (and I really thank you for you excellent blog) had worked before, I could not access CCM.
In the end I could not request a server reset because CCM was not accessible, but I did remove the update site.

Just to clarify I can go to the first URL, but not the second.
https://l<server>:<port>/jts/admin?internal=true#action=com.ibm.team.repository.admin.serverReset

https://l<server>:<port>/ccm/admin?internal=true#action=com.ibm.team.repository.admin.serverReset

I also tried with a TOMCAT as a test. The problem presented as well, however when you delete the CATALINA temp files associated with JTS, the CCM app can be registered again without problems (yes, I also needed to remove the original CCM registry).

Maybe there is a way to send the command other than web.


Ralph Schoon commented May 11 '15, 2:10 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Jaime,

the plugin if an RTC extension needs to be deployed on the CCM server. You need to request reset there or delete the built-on.txt file as suggested, if RTC is not accessible. The registration is something that should be fixed and not tempered with. If it is only temp files, no harm should be done. If it is in the ccm folder, you might be in trouble.


Ralph Schoon commented May 11 '15, 2:11 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Or I am missing something vital here....


Jaime Paternina commented May 11 '15, 3:15 p.m. | edited May 11 '15, 3:18 p.m.

Ralph,

I think that everything is accounted. Thank you. I will try with your suggestion. This is a test machine, so nothing irreversible has happened.
If this works or I come up with another solution, I will surely update this post.

For the sake of research I tried to send a server reset from the JTS and that leave a mark. I could not use more that server. I always should do this in the ccm server page or is the same if i do it in JTS server page on the web client?

https://<server>:<port>/jts/admin?internal=true#action=com.ibm.team.repository.admin.serverReset


Ralph Schoon commented May 11 '15, 4:37 p.m. | edited May 11 '15, 4:40 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

The server reset ONLY loads the plugins/sites of the app again as well as redeploys the bundles of the application. That is all it does. It won't break your application.

To make it more clear, deleting the built-on.txt file is the same as a request to reset.


Jaime Paternina commented May 11 '15, 6:18 p.m. | edited May 11 '15, 6:20 p.m.

Ralph, hi,

I really do not know what I did to the server, but I had to delete the profile "temp" and "wastemp" folders in order to get the application going.

It finally got better and let me register the ccm app.
Now is showing another problem:

CRJAZ2488E The friend entry for the Jazz Team Server contains a consumer key that is invalid (it is not being accepted by the Jazz Team Server).


But the ccm app seems to be trusted in the JTS, as in the section Consummers (inbound), on the tab Authorized Keys, the app is declared trusted

What should I do now?

Sorry I can't send some images. I don't have enough reputation.



Ralph Schoon commented May 12 '15, 2:46 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Jaime,

for all I know the registration should not have broken in the first place.
Uninstalling the Plugin and start with a server reset should have fixed the problem.
Worst, removing the CCM.war and deploying it again again should have fixed it. In CLM 2011 upgrade workshop we explored several ways to get WAS cooperative again and documented them.

Having said that, re-registering CCM could have created problems. I don't know. I don't have any Ideas here. If this is a test system, I'd consider to start from scratch.

showing 5 of 7 show 2 more comments

Your answer


Register or to post your answer.