It's all about the answers!

Ask a question

Trouble establishing cross server communication with RRC


Ales Koprivnikar (116352) | asked Dec 30 '09, 9:49 a.m.
Hello,
I was experimenting with creating a CALM scenario with RRC, RQM and RTC but I ran into some problems. I was following the instructions from this article: http://jazz.net/library/techtip/304
I successfully connected RTC with RQM and vice versa. Also creating cross server communication between RRC and RTC/RQM worked. What failed was connecting RTC/RQM with RRC.

When trying to establish cross server communication from RTC/RQM to RRC I get the following error.

An error occurred while requesting an OAuth consumer key from server "https://rrc:9443/rdm/rootservices".Hide Details
CRJAZ1341E The remote server responded to the request to generate a provisional OAuth consumer key with a HTTP status code 403 error.
com.ibm.team.repository.common.TeamRepositoryException
com.ibm.team.repository.service.internal.oauth.OAuthRestService.postRequestRemoteProvisionalKey(OAuthRestService.java:154)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:618)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
$Proxy126.postRequestRemoteProvisionalKey(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:618)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:571)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:1752)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1623)
com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1536)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
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:75)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:121)
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:54)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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:210)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
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:685)
java.lang.Thread.run(Thread.java:811)

A bit about my environment. I have the following installed


IBM Rational Quality Manager
V 2.0.0.1 Standard Edition (2.0.1.20091024_1915)

IBM Rational Requirements Composer Server
V 2.0.0 (2.0.0.20091110_0711)

Jazz Team Server Standard Edition
V 2.0.0.2 (2.0.2002.I20091211-1048)


It is all running on a single machine, with changed ports (RRC - 9443, RTC-9444, RQM-9445) and appropriate entries into hosts file so all the team servers are available with the following names: rrc, rtc, rqm. The Public URI root property is changed appropriately, so that the https://server:port/jazz/rootservices and https://server:port/rdm/rootservices are available. The servers function normally and I can access them without problems, just the cross server communication does not work.

I tried removing all the server entries, restarting and retrying the procedure, did not work. Only thing I found that is a bit peculiar is that in RRC the is server friend entry named Rational Requirements Server which has a Root services URI property set to localhost:9443/rdm/rootservices and i can not remove it. Also in the rootservices xml there is an entry of <jfs>https://localhost:9443/rdm, https://rrc:9443/rdm</jfs>. is this normal that there is a localhost entry inside?

Anyone had any similar problems? Any ideas on how to solve this?

Any and all ideas are very welcome.

Happy new year 2010 :)

20 answers



permanent link
Joe Barnes (53145) | answered Jan 04 '10, 5:53 p.m.
Thanks Hugh but I did that one already .. :-).

Still stuck.

Thanks,
Joe

permanent link
Benjamin Silverman (4.1k610) | answered Jan 04 '10, 7:19 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hi Joe,

I was trying to compare your friendsconfig.rdf to mine, but doesn't look like it came through in your post. Can you post the file from the /jazz folder? I'm interested in what your rootServices entry looks like.

permanent link
Joe Barnes (53145) | answered Jan 04 '10, 7:37 p.m.
Ben,
Thanks for looking at this, I really appreciate it.

Here is the friendsconfig.rdf contents from the /jazz dir:




<rdf>
<jd>
<jd>
<dc>Rational Requirements Server</dc>
<jfs>https://rrc:9443/rdm,https://rrc:9443/jazz</jfs>
<jfs>339a727942cb41ffbeed909b8d398463</jfs>
<jfs>swshuLZz/HG76L79hvAQh7Dyqgvjq+FGdFatlGuPZGw=</jfs>
<jfs>true</jfs>
</jd>
<jd>
<jfs>false</jfs>
<jfs>bigmac</jfs>
<jfs>fcfaa5632d4245f79ed44dfa47800bb7</jfs>
<jfs>https://rtc:9433/jazz</jfs>
<dc>My RTC Friend</dc>
<jd>
</jd>
</rdf>


Thanks,
Joe

permanent link
Benjamin Silverman (4.1k610) | answered Jan 04 '10, 7:47 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
When you go to Cross-Server Communication, do you see "Rational Requirements Server" in the "Internal Friends" list? It should be pointing to https://server:9443/rdm/rootservices. I don't see this in your config file, but notice that when I paste mine it's not coming through either. I'm looking for the line above "dc:title>Rational Requirements Server". where mine says "jd:rootServices rdf:resource="https://bsilverm.lexma.ibm.com:9443/rdm/rootservices"/>"


<rdf>
<jd>
<jd>
<dc>Rational Requirements Server</dc>
<jfs>https://rrc:9443/rdm,https://rrc:9443/jazz</jfs>
<jfs>8934939a4b65481e96a3f87c4962ed02</jfs>
<jfs>j2J3UDhDp34YFKsPU+3RCh806+LANMvXW/aCCcUWN88=</jfs>
<jfs>true</jfs>
</jd>
<jd>
<jfs>false</jfs>
<jfs>Passw0rd</jfs>
<jfs>c5aec43fa08d46b0818d3639f13af7a0</jfs>
<jfs>https://rqm:9559/jazz</jfs>
<dc>RQM</dc>
<jd>
</jd>
</rdf>


permanent link
Joe Barnes (53145) | answered Jan 04 '10, 8:04 p.m.
Ben,
Yes, it's there. It looks like this when viewing it from within the RRC web admin:

Rational Requirements Server	https://rrc:9443/rdm/rootservices	339a727942cb41ffbeed909b8d398463


Can't figure this out. When I go from RRC to RTC it works fine. When I try to make the connection from RTC to RRC it throws up the 403 error.

Still stuck.

Thanks,
Joe

permanent link
Benjamin Silverman (4.1k610) | answered Jan 04 '10, 8:13 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I suppose the details of what you are trying to do would help. When you say you are trying to go from RTC to RRC, where are you when you do this?

Is 9433 the appropriate port for your RTC server, or is it 9443?

I have only configured RRC/RQM so far, but RTC is on my list this week. I can run through the same scenario and report back once I've set it up. Just let me know the steps you're taking, where you're seeing the error, and what the error says. Thanks,

permanent link
Benjamin Silverman (4.1k610) | answered Jan 05 '10, 12:45 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I set this up last night and it seems to be working fine. Let me know what use case you are running through and I'll have a look.

permanent link
Joe Barnes (53145) | answered Jan 05 '10, 3:06 p.m.
I set this up last night and it seems to be working fine. Let me know what use case you are running through and I'll have a look.


Thanks Ben, I'll check it tonight and let you know. Out all day today unfortunately.

Thanks again,
Joe

permanent link
Ales Koprivnikar (116352) | answered Jan 06 '10, 11:42 a.m.
I got mine to work with a lot of help from the guys in dev.

Where I went wrong was when setting the public URI of RRC I used https://rrc:9443/rdm/. This is wrong. It needs to be /jazz. After that of course the Xserver comm didnt work, we fixed it somehow so it started working, but then the rrs-daemon user disappeared from the internal friend entry in OAuth section in server config. This resulted in showstopper when creating/opening project from RRC client (http://jazz.net/forums/viewtopic.php?t=8480). Could not get that back... so I just reinstalled it, during the setup procedure set the public URI Root to https://rrc:9443/jazz and it automagicaly worked :)

Hope that helps.

Edit: Forgot to mention this.
To open setup use https://rrc:9443/rdm/setup, not localhost.
When establishing Xserver comm, user https://rrc:9443/rdm/rootservices (normal). I guess this is not connected with the Public URI Root...

permanent link
Joe Barnes (53145) | answered Jan 06 '10, 4:14 p.m.
I got mine to work with a lot of help from the guys in dev.

Where I went wrong was when setting the public URI of RRC I used https://rrc:9443/rdm/. This is wrong. It needs to be /jazz. After that of course the Xserver comm didnt work, we fixed it somehow so it started working, but then the rrs-daemon user disappeared from the internal friend entry in OAuth section in server config. This resulted in showstopper when creating/opening project from RRC client (http://jazz.net/forums/viewtopic.php?t=8480). Could not get that back... so I just reinstalled it, during the setup procedure set the public URI Root to https://rrc:9443/jazz and it automagicaly worked :)

Hope that helps.

Edit: Forgot to mention this.
To open setup use https://rrc:9443/rdm/setup, not localhost.
When establishing Xserver comm, user https://rrc:9443/rdm/rootservices (normal). I guess this is not connected with the Public URI Root...


Thanks guys, I really appreciate all of the help. Pointing out that the Public URI had to be /jazz as opposed to /rdm was a big help. That made a big difference. As a matter of fact, it almost worked after that. :-)

I'm now reinstalling RRC w/ the hope that a fresh start will make a difference. I'll keep you posted.

Thanks again.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.