It's all about the answers!

Ask a question

Null Pointer Exception setting up Jazz Reporting Service 5.0.2


Mike Shkolnik (9809161143) | asked Jan 08 '15, 6:43 p.m.
I recently installed WAS 8.5, RRDI 5.0.2, and JRS 5.0.2. RRDI is running fine now. JRS is not. I followed a video I found online, but the video was geared towards JRS on the same server as JTS, so I may be missing something.

My setup:

JTS & CCM on a Linux 6.4 server with Tomcat.
RRDI & JRS on a Windows 2012 server with WAS.
All databases on the same MS SQL 2012 Server.
All apps and OS' are 64 bit.

What I have done so far:
Installed the rs.war file into WAS Console
Added the JRS Shared Library
(classpath=C:\Program Files\IBM\RRDI\jrs\JazzTeamServer\server\conf\rs\WAS_SharedLibrary)
Note that I set Scope to "Cell" - that detail wasn't covered in the video, so I guessed as Cell appears to also include nodes.
Copied the JDBC driver to the shared library folder (though I'm not sure that was actually necessary).
Stopped and started WAS.
Ran the JTS setup and went to add /rs as a new registered application.
Application Type and Functional User ID auto-filled, indicating I had in theory typed the correct URI (https://SERVER:PORT/rs/scr).
When I clicked Register Applications, I got the null pointer exception as listed below.
I searched for an answer and found a post here about setting the JAZZ_HOME variable, so I tried that (set to
C:\Program Files\IBM\RRDI\jrs\JazzTeamServer\server\conf), stopped and started WAS again, then tried to register the application again. No change. Any ideas?

The applications could not be registered with Jazz Team Server.ID CRJAZ1726E
Request to service https://rrdi.devtst.go2uti.com:9082/rs/jts-registration failed with status code 500 and response body: Error 500: java.lang.NullPointerException
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.ApplicationRegistrationFriendRestService$UpdatingFriendResponseHandler.handleResponse(ApplicationRegistrationFriendRestService.java:384)
com.ibm.team.repository.service.internal.discovery.ApplicationRegistrationFriendRestService$UpdatingFriendResponseHandler.handleResponse(ApplicationRegistrationFriendRestService.java:1)
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.ApplicationRegistrationFriendRestService.notifyAppRegistrationHandler(ApplicationRegistrationFriendRestService.java:277)
com.ibm.team.repository.service.internal.discovery.ApplicationRegistrationFriendRestService.postRegisterApp(ApplicationRegistrationFriendRestService.java:189)
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.$Proxy645.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:727)
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:727)
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:727)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:165)
com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:198)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:339)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:761)

Accepted answer


permanent link
Kevin Cornell (5411) | answered Jan 09 '15, 11:03 a.m.
First I assume you have DCC and JRS in separate WAS profiles, or on different machines. Both applications need JAZZ_HOME to be defined correctly in the JVM of the WAS profile and because they are installed in different folders on your system, you cannot define JAZZ_HOME for both folders.

As for the JAZZ_HOME for JRS, you indicated that you set it to:
    C:\Program Files\IBM\RRDI\jrs\JazzTeamServer\server\conf

This is not correct. Try setting it to the following (use forward slashes and make sure there are 3 /s after “file:”):
    file:///C:/Program Files/IBM/RRDI/jrs/JazzTeamServer/server/conf

When you defined the JRS shared library, the scope should have been “Node=<yourSystemNode>, Server=server1. I do not know if choosing Cell makes a difference or not.

When installed the rs.war file, you indicated that the JRS shared library reference was added. I assume you added it to the rs_war application. Also, in the main rs_war page in the WAS console, click on “Class loading and update detection” and ensure the option “Classes loaded with local class loader first (parent last)” is selected.

Restart WAS and try the registration again.

Mike Shkolnik selected this answer as the correct answer

Comments
Mike Shkolnik commented Jan 09 '15, 1:43 p.m.

 The following are all on one Windows Server 2012 machine:


WAS
DCC
JRS
RRDI

The following are all on one Linux 6.4 machine:

JTS
CCM

Databases for all of the above are all on one SQL Server 2012 machine

Thanks, the syntax change did the trick. Admittedly I am more familiar with "Was (Not Was)" than WAS.  :-)  I'm learning, though.

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.