It's all about the answers!

Ask a question

How to fix a messed up Discovery URL?


long TRUONG (363486127) | asked Oct 31 '18, 10:53 p.m.
edited Nov 07 '18, 1:15 p.m. by Rosa Naranjo (2.8k11419)

 As per Forum post 257788, while trying to resolve an unsuccessful merge, on UAT, of RTC 4.0.5 from its own separate server and its own JVM to the JTSserver and the JTS JVM respectively: We committed the mistake of  modifying the  RTC Discovery URL on Edit Application Properties on the Registered Applications page (to the JTS Discovery URL)


We were using address forwarding with the hosts file, and WAS did not accept multiple forwarded addresses with serverFQN.

We now are trying to look for a way to fix the lame RTC Discovery URL, short of restoring an earlier backup of the DBs, without a sync'ed back up of the indices (hence requiring re-indexing):
  • Either by registering the app RTC again as when first installed
  • or to configure WAS with virtual hosts
As we have restored the original WAS config of 3 JVMs on 3 separate servers to the profile and found:
  • Indeed, modifying the RTC Discovery URL had messed up the RTC entry in the Registered Applications page

Name AppType Version Discovery URL

/admin LPA 4.0.5 https:<JTSserverFQN>:9443/admin/scr

/jazz Unknown https:/<JTSserverFQN>:9443/jazz/scr

/qm QM 4.0.5 https:<RQMserverFQN>:9443/qm/scr

/rm RM 4.0.5 https:<JTSserverFQN>:9443/rm/scr


  • Also on JTS and RQM Diagnostics

Diagnostics

Applications and Friends

Last executed: 10/31/18, 12:09 PM

Application: the discovery resource at https:<RTCserverFQN>:9443/jazz/rootservices for "/jazz" cannot be accessed:

The returned HTTP status was 404

The response body was

SRVE0255E: A WebGroup/Virtual Host to handle /jazz/rootservices has not been defined.

SRVE0255E: A WebGroup/Virtual Host to handle /jazz/ has not been defined.

SRVE0255E: A WebGroup/Virtual Host to handle <RTCserverFQN>:9443 has not been defined.


  • When trying to fix <JTSserverFQN> (previously modified by mistake) back to <RTCserverFQN> (as it should be) for the RTC Discovery URL:

CRJZS0218E The server has not found anything matching the Request-URI.

com.ibm.team.jfs.app.http.HttpNotFoundException

com.ibm.team.repository.service.internal.discovery.FriendsAdminRestService$1.handleResponse(FriendsAdminRestService.java:747)

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.FriendsAdminRestService.postUpdateFriend(FriendsAdminRestService.java:192)

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.$Proxy252.postUpdateFriend(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:530)

com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2353)

com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:2153)

com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1963)

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:1233)

com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:782)

com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)

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:967)

com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)

com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)

com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:949)

com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)

com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)

com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)

com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)

com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)

com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)

com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1833)

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:1892)


One answer



permanent link
Ralph Schoon (55.1k23642) | answered Nov 08 '18, 2:44 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited Nov 08 '18, 2:44 a.m.

 You are asking questions that you probably should ask support, not the forum.


Another option is to try to do your migration on a test system and, in case you messed up, go back to start and repeat until you have a working process documented. That way you can get a reliable process developed without having to compromise your production systems. This also avoids sketchy fixes that might backfire in the future. 

Your answer


Register or to post your answer.