Tuesday, May 20

Server node fails to start during deployment

Symptom
Server node fails to start during deployment

A typical indicator of this problem is an entry similar to the follwing in the default trace file:

Caused by: javax.naming.CommunicationException: : [Root exception is java.lang.ClassNotFoundException: com.sap.security.core.server.https.SecureConnectionFactory
------------------------- Loader Info -------------------------
ClassLoader name: [service:naming]
Living status: alive
Direct parent loaders:
[system:Frame]
[library:com.sap.security.api.sda]
[library:tc~jmx]
[library:tc~je~mmodel~lib]
[service:p4]
[interface:appcontext]
[interface:naming]
Resources:
D:\\usr\\sap\\KM1\\J00\\j2ee\\cluster\\bin\\services\\naming\\sap.com~tc~je~naming~impl.jar
---------------------------------------------------------------]
at com.sun.jndi.ldap.Connection.(Connection.java:204)
at com.sun.jndi.ldap.LdapClient.(LdapClient.java:118)
at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1578)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2596)
at com.sun.jndi.ldap.LdapCtx.(LdapCtx.java:283)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
at com.sap.engine.system.naming.provider.DefaultInitialContext._getDefaultInitCtxt(DefaultInitialContext.java:64)
at com.sap.engine.system.naming.provider.DefaultInitialContext.(DefaultInitialContext.java:45)
at com.sap.engine.system.naming.provider.DefaultInitialContextFactory.getInitialContext(DefaultInitialContextFactory.java:41)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.(InitialContext.java:197)
at javax.naming.directory.InitialDirContext.(InitialDirContext.java:82)
at com.sap.security.core.persistence.datasource.imp.LDAPDataSourceConnectionPool$1.run(LDAPDataSourceConnectionPool.java:887)
... 27 more
Reason and Prerequisites
Due to a classloader problem, the server node does not start during deployment, if the UME is configured to use an SSL connection to a directory server.
Solution
The problem has been fixed with SAP NetWeaver 7.1 SPS7.
As workaround you can configure the UME not to use an SSL connection for the directory server during deployment. After the deployment is finished, switch back to the secure connection.
To change the UME configuration when the server node is down, use the config tool.
To find the UME configuration, switch to the configuration editor mode , navigate to Configurations -> cluster_config -> system -> custom_global -> cfg -> services -> com.sap.security.core.ume.service
    1. Change the property sheet or the data source configuration file, depending where you connection data is maintained. Change the following properties:
  • ume.ldap.access.ssl to false
  • ume.ldap.access.server_port to your non-SSL port
    2. Save the changes and restart the server node.
    3. Finish the deployment and switch back to your original configuration.

No comments:

Post a Comment

You are welcome to express your views here...