It's all about the answers!

Ask a question

Having problems with RRC Client to link RTC or RQM Artifacts


Adil Chahid (45524118) | asked Feb 02 '11, 6:16 p.m.
Hi all,

I've opened a PMR with IBM where I was describing the following problem.
We have all the latest versions (2.x) for RTC, RQM and RRC installed on the same Linux Server running on a WAS 7 with latest FP.
The thing to note in our configuration is the fact that those three services are being proxied by Apache Server 2.2 with mod_proxy.
We've linked the three servers together.
When we use a Web Browser either IE 7,8 or Firefox 3.6 we are able to link RQM Test Cases to RRC Requirements, RTC Stories to RRC Requirements and so on...
When we try to link from RRC client a RTC Story for instance, it doesn't work at all: the RRC Client freezes.
When we point the RRC Client directly to the RRC Server (running on WAS and by bypassing the apache Proxy) everything works fine again from the client.
So this is a weird behaviour since the ALM Linking works fine from standard browsers.
Any Idea on where to continue this investigation?

Please also note that the Apache Server uses a wildcard certificate for securing the Jazz baseds products Virtual hosts.
So for instance:
rtc.acompany.com
rrc.acompany.com
rqm.acompany.com

are being served by the same Wildcard SSL certificate that is define for the *.companyname.com domain name.

Here si the Apache RRC VH Configuration

<VirtualHost>

SSLProxyEngine on
UseCanonicalName On
ServerName rrc.acompany.com
ErrorLog /var/log/apache2/rrc.acompany.com/rrc-error.log
CustomLog /var/log/apache2/rrc.acompany/rrc-access.log combined
ProxyRequests off
ProxyPreserveHost On

SSLCertificateChainFile /usr/local/apache2/conf/ssl.crt/xxx.crt

<Proxy>
order allow,deny
allow from all
</Proxy>


ProxyPass /jazz/ https://rrc.acompany.com/jazz/
ProxyPass /rdm/ https://rrc.acompany.com/rdm/

</VirtualHost>

The exact same pattern is followed for RQM and RTC from the same proxy server.

6 answers



permanent link
Marc Baumbach (1311) | answered Feb 02 '11, 7:43 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Hi Thunder,

A more advanced configuration than the default may be easier to debug with logs from your server. In the PMR you opened, please attach all log files from RTC, RQM, and RRC (rich client and server).

If you have not done so already, please subscribe me to the PMR as well and I'll see if I can be of more assistance.

Marc Baumbach
Staff Software Engineer - Rational Requirements Composer
mabaumba@us.ibm.com

permanent link
Adil Chahid (45524118) | answered Feb 02 '11, 10:48 p.m.
Hi Marc,
Sure I'll ask to the support team to subscribe you to the PMR.
Meanwhile I'm gonna try implementing the proposed Proxy related Apache instructions from the following wiki page:
https://jazz.net/wiki/bin/view/Main/TestingWithReverseProxyWithoutSSL
Take care all!

Hi Thunder,

A more advanced configuration than the default may be easier to debug with logs from your server. In the PMR you opened, please attach all log files from RTC, RQM, and RRC (rich client and server).

If you have not done so already, please subscribe me to the PMR as well and I'll see if I can be of more assistance.

Marc Baumbach
Staff Software Engineer - Rational Requirements Composer
mabaumba@us.ibm.com

permanent link
Adil Chahid (45524118) | answered Feb 08 '11, 1:05 p.m.
Hi all,
I did try all the possible proxy combinations in the apache VH.
Since we were using an Entrust wildcard SSL certificate, I also tried to use a normal SSL certificate instead.
When Apache is proxying RTC/RQM/RRC the ALM linking doesn't seem to work.
From the RRC Client, when I invoque the PReferences Menu > Service Providers the only listed connected service is RQM.
Once I bypass the proxy RTC and RQM are listed and the linking fully functionnal from the RRC Client.
FYI the problem occurs as well on our lab when we try to expose it using an Apache Proxy.
It is really odd since the linkage works fine when using the web browser and when pointing to the proxy.
Did someone had the same issues or has the same proxied configuration?

Thanks!

permanent link
Adil Chahid (45524118) | answered Feb 18 '11, 11:54 a.m.
Hi all,

actually the problem occurs on the RRC Eclipse Client side only.
I've enable debugging for noth Jazz and RDM by adding the following to log4j.properties

The problem really occurs at the Eclipse level, since we have no problem with either IE or Firefox.


log4j.logger.com.ibm.team.http.client.impl.HttpClientService=DEBUG


and nothing gets logged on the server side when the Implemented by link times out in RRC.

We get the following exception in the Eclipse .log file

!ENTRY org.eclipse.ui 4 0 2011-02-18 11:40:51.034

!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.RuntimeException: org.xml.sax.SAXParseException: The declaration for the entity "ContentType" must end with '>'.
at com.ibm.rdm.fronting.server.common.xml.XMLParser.<init>(XMLParser.java:50)
at com.ibm.rdm.fronting.server.common.xml.RDFXMLDocument.<init>(RDFXMLDocument.java:25)
at com.ibm.rdm.fronting.server.common.xml.oslc.ServiceDescriptorDocument.<init>(ServiceDescriptorDocument.java:21)
at com.ibm.rdm.fronting.server.common.xml.oslc.QMServiceDescriptorDocument.<init>(QMServiceDescriptorDocument.java:14)
at com.ibm.rdm.integration.calm.QMCalmRepository.createServiceDescriptorDocument(QMCalmRepository.java:25)
at com.ibm.rdm.integration.calm.CalmRepository.getServiceDescriptorDocument(CalmRepository.java:192)
at com.ibm.rdm.integration.calm.CalmRepository.getServiceDescriptorDocument(CalmRepository.java:182)
at com.ibm.rdm.integration.calm.CalmUtil.getLinkPickerDialogs(CalmUtil.java:75)
at com.ibm.rdm.integration.calm.ui.dialogs.CalmSelectionDialog.getProjectAreaDialogs(CalmSelectionDialog.java:193)
at com.ibm.rdm.integration.calm.ui.dialogs.CalmSelectionDialog.getCurrentProjectAreaDialogs(CalmSelectionDialog.java:188)
at com.ibm.rdm.integration.calm.ui.dialogs.CalmSelectionDialog.getExistingDialog(CalmSelectionDialog.java:561)
at com.ibm.rdm.integration.calm.ui.dialogs.CalmSelectionDialog.updateSelectionDialog(CalmSelectionDialog.java:622)
at com.ibm.rdm.integration.calm.ui.dialogs.CalmSelectionDialog$6.widgetSelected(CalmSelectionDialog.java:699)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
at org.eclipse.swt.widgets.Link.wmNotifyChild(Link.java:1002)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:1756)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2274)
at org.eclipse.swt.widgets.Link.callWindowProc(Link.java:171)
at org.eclipse.swt.widgets.Widget.wmLButtonUp(Widget.java:1901)
at org.eclipse.swt.widgets.Control.WM_LBUTTONUP(Control.java:4142)
at org.eclipse.swt.widgets.Link.WM_LBUTTONUP(Link.java:840)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3823)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2371)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3420)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at com.ibm.rdm.integration.calm.ui.actions.CreateCalmLinkAction.selectTargets(CreateCalmLinkAction.java:165)
at com.ibm.rdm.integration.calm.ui.actions.CreateCalmLinkAction.run(CreateCalmLinkAction.java:110)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.ibm.rdm.ui.application.ReqComposerApplication.start(ReqComposerApplication.java:122)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Caused by: org.xml.sax.SAXParseException: The declaration for the entity "ContentType" must end with '>'.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at com.ibm.rdm.fronting.server.common.xml.XMLParser.<init>(XMLParser.java:47)
... 67 more


Please advise.
Cheers!

permanent link
Adil Chahid (45524118) | answered Feb 18 '11, 5:20 p.m.
Ok, here is what bI've found so far!

Like mentionned previously, we're exposing from the same Apache Web Server Proxy the three C/ALM services: RTC/RQM/RRC

We're using the same ip address for the three domain names

- rtc.acompany.com
- rqm.acompany.com
- rrc.acompany.com

Ex: all listed domains are exposed to 192.168.1.50

So those three domain are exposed on the same ip address.
(FYI we're using a wildcard SSL certificate for *.acompany.com but it doesn't seem to have an impact to the problem as I'll explain below)

When I move either rtc or rqm to another ip everything work fine!

Ex: rqm.acompany.com exposed to 192.168.1.51 and rtc.acompany.com and rrc.acompany.com are still pointing on 192.168.1.50

It was actually obvious, since when I was trying to log to RQM, it was poping out the RTC server login window and sometimes vice versa.

So RRC Client doesn't seem to deal well when the ALM services are exposed under the same ip, even if they're using different Domain names.

We'lve also tried to mitigate a possible problem due to the Wilcard SSL certificate by using the same ip adress with a standard certificate and the same problem actually occured.

So does someone has some clues on why the RRC Eclipse client reacts that way?
Is there a workaround, since we have to expose those C/ALM services through the same ip address?

Please advise,
Thanks!

permanent link
Adil Chahid (45524118) | answered Mar 02 '11, 4:04 p.m.
Hi all,

a Fix was created by the RRC Development Team as described in the following Work Item.

https://jazz.net/jazz03/web/projects/Rational%20Requirements%20Composer#action=com.ibm.team.workitem.viewWorkItem&id=39180

Thank you all for your time.

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.