000013890 - FIM 4.0 clustered deployment throws ServiceLocatorException

Document created by RSA Customer Support Employee on Jun 16, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000013890
Applies ToRSA Federated Identify Manger (FIM) 4.0
BEA WebLogic 9.2
IssueFIM 4.0 clustered deployment throws ServiceLocatorException

The following error shows in the WebLogic log

2009-02-11 11:32:55,333, (ServiceLocator.java:64), fim.domain.com, , , , jndi.url=t3://fim.domain.com:8001,\t3://fim.domain.com:8001
2009-02-11 11:32:55,409, (SSOService.java:98), fim.domain.com, , , , An Exception was encountered, java.lang.ExceptionInInitializerError

Note that the format of the JNDI URL is incorrect.

The following exception may also be thrown:

Caused by: com.rsa.fim.exception.util.ServiceLocatorException: Cannot instantiate Service Locatornull
        at com.rsa.fim.util.ServiceLocator.<clinit>(ServiceLocator.java:50)

The following exception may also be thrown:

        at com.rsa.fim.servlet.sso.SSOService.doGet(SSOService.java:62)

CauseThe error message "Cannot instantiate Service Locator" indicates some kind of problem with the JNDI service being unable to contact a service on a remote node to execute the specified class.  This problem can often manifest itself as a NoClasssDefFoundError in an arbitrary section of code, which is misleading as the failure is actually at the server level and not at the class level.
ResolutionEnsure that all servers in the Cluster are able to communicate with each other and there are no network issues.  Ensure that all servers are licenced (Also see solution FIM 4.0  -  Trial License causes Service Locator Class Error).  Ensure that the JNDI URL's are correct.

As per page 52 in the FIM 4.0 Installation and Configuration Guide, ensure that in the FIM console under Cluster/Cluster Settings, that the JNDI Parameters section that the JND URL is correct.  This field should contain a list of JNDI targets in the following format:  The JNDI t3 URI followed by a colon and two slashes, then the server and port of each server separated by commas.  example:

t3://server1.com:8001, server2.com8001

Legacy Article IDa44592