customizing the page title of the User Portal

Hi,

I have been trying to set the page title on the user portal. I followed instructions from the documentation: https://www.netiq.com/documentation/access-manager-45/admin/data/b1caoduo.html#customizing-the-html-title-of-the-user-portal

But unfortunately, it does not work for me. To be frank, as our environment is majorly in  Windows OS I first tried my way using 7zip to edit ***en_US.properties file [my method]. After tomcat restart, every customizable string on the user portal page is "null". Also if I repair an already corrupted jar (with my custom values) back to original values everything seems to get back to working normally.

 

usingzip.png

 

If I do it as it says in documentation using jar command I get 404 Not found error after tomcat restart [doc method].

usingjar.png

So to investigate further I went looking into catalina.out file for IDP.

Now I am not very fluent with NAM logs so I extracted some parts of the log that looked irregular and trouble me. I looked at the logs after all the testing so I am not 100% how the logs correlate to my methods but I did write my speculations anyway.

So I think [my method] results with these logs:

2021-02-11T10:27:19 org.apache.catalina.startup.Catalina start
INFO: Server startup in 64375 ms
java.lang.SecurityException: MD5 digest error for com/novell/nidp/resource/jsp/jsp_resources_en_US.properties
at sun.security.util.ManifestEntryVerifier.verify(ManifestEntryVerifier.java:223)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:243)
at java.util.jar.JarVerifier.update(JarVerifier.java:230)
at java.util.jar.JarVerifier$VerifierStream.read(JarVerifier.java:484)
at org.apache.catalina.webresources.AbstractArchiveResource$JarInputStreamWrapper.read(AbstractArchiveResource.java:268)
at org.apache.catalina.webresources.AbstractArchiveResource.getContent(AbstractArchiveResource.java:189)
at org.apache.catalina.webresources.CachedResource.getContent(CachedResource.java:322)
at org.apache.catalina.webresources.CachedResource.getInputStream(CachedResource.java:307)
at org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream(WebappClassLoaderBase.java:1131)
at java.lang.Class.getResourceAsStream(Class.java:2223)
at com.novell.nidp.resource.NIDPResourceManager.get(y:2956)
at com.novell.nidp.ui.UIHandler.<init>(y:177)
at com.novell.nidp.ui.UIHandler.<init>(y:1717)
at org.apache.jsp.jsp.err_005flatest_jsp._jspService(err_005flatest_jsp.java:133)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:713)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:462)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:387)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:315)
at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:742)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:712)
at org.apache.jsp.jsp.err_jsp._jspService(err_jsp.java:129)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:713)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:462)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:387)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:315)
at com.novell.nidp.servlets.NIDPServletContext.goJSP(y:3130)
at com.novell.nidp.servlets.NIDPBaseServlet.doGet(y:1679)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:66)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.novell.nidp.servlets.filters.xss.XSSDetectionFilter.doFilter(y:2741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.novell.nidp.servlets.filters.jsp.SameOriginFramingFilter.doFilter(y:1741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.novell.nidp.servlets.filters.RequestResponseHook.doFilter(y:3551)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
NIDPServletContext.doCommand(): Command set received! May wait for synchronization! Id: kl0px19w9pm2, Command(s): start
Processing lifecycle command: start from set kl0px19w9pm2 when state is: 0
NIDPContext.doInit(): Configuration: <NIDPConfig enforceHTTPS="false" validateXML="false">
<Cluster enabled="false"/>
<ConsoleLog enabled="false"/>
<Signing alias="tomcat" keyPassword="XX" keyStorePassword="XX" keystore="/opt/novell/devman/jcc/certs/nam/nam.keystore" type="jks">
<KeyList>
<Key alias="tomcat" default="true" keyPassword="XX"/>
</KeyList>
</Signing>
<Encrypting alias="tomcat" keyPassword="XX" keyStorePassword="XX" keystore="/opt/novell/devman/jcc/certs/nam/nam.keystore" type="jks">
<KeyList>
<Key alias="tomcat" default="true" keyPassword="XX"/>
</KeyList>
</Encrypting>
<SSL alias="tomcat" keyPassword="XX" keyStorePassword="XX" keystore="/opt/novell/devman/jcc/certs/nam/nam.keystore" type="jks"/>
<Trust keyPassword="XX" keyStorePassword="XX" keystore="/opt/novell/devman/jcc/certs/nam/nam.keystore" type="jks"/>
<LDAPAuthority>
<LDAPCluster admin="ou=nidsUser,ou=UsersContainer,ou=Partition,ou=PartitionsContainer,ou=VCDN_Root,ou=accessManagerContainer,o=novell" configDN="cn=SCCyfad9x,cn=cluster,cn=nids,ou=acce
ssManagerContainer,o=novell" password="XX" type="edir">
<LDAPReplica displayName="Replica 1" host="ldaps://10.10.1.111" port="636" secure="true"/>
</LDAPCluster>
</LDAPAuthority>
</NIDPConfig>

NIDPContext.doInit(): Cluster Configuration: Cluster Enabled: false
Cluster Multi-cast Address: null
Cluster Multi-cast Port: 0
Encrypt Cluster Backchannel: false
Cluster HTTP(s) Port: 0
Me Index (-1 == Unknown): -1

NIDPKeys.mergeCustomSignKey |Custom Sign Store was updated with cert alias [tomcat]
Updated NIDP trust store
LDAPAuthority.initialize(): Completed initializing authority. BaseURL: https://idp.test.si/nidp

 

I think [documentation method] results with these logs:

<amLogEntry> 2021-02-11T10:35:34Z SEVERE NIDS Application: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
sun.security.util.SignatureFileVerifier: SignatureFileVerifier.java: processImpl: 330
sun.security.util.SignatureFileVerifier: SignatureFileVerifier.java: process: 263
java.util.jar.JarVerifier: JarVerifier.java: processEntry: 318
java.util.jar.JarVerifier: JarVerifier.java: update: 230
java.util.jar.JarFile: JarFile.java: initializeVerifier: 385
java.util.jar.JarFile: JarFile.java: getInputStream: 462
org.apache.catalina.webresources.AbstractSingleArchiveResource: AbstractSingleArchiveResource.java: getJarInputStreamWrapper: 39
org.apache.catalina.webresources.AbstractArchiveResource: AbstractArchiveResource.java: getContent: 183
org.apache.catalina.loader.WebappClassLoaderBase: WebappClassLoaderBase.java: findClassInternal: 2,318
org.apache.catalina.loader.WebappClassLoaderBase: WebappClassLoaderBase.java: findClass: 855
org.apache.catalina.loader.WebappClassLoaderBase: WebappClassLoaderBase.java: loadClass: 1,327
org.apache.catalina.loader.WebappClassLoaderBase: WebappClassLoaderBase.java: loadClass: 1,180
com.novell.nidp.servlets.filters.SessionAssuranceFilter: y: doFilter: 1,188
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: internalDoFilter: 193
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: doFilter: 166
com.novell.nidp.servlets.filters.ClusterRequestFilter: y: doFilter: 3,377
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: internalDoFilter: 193
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: doFilter: 166
org.apache.catalina.filters.HttpHeaderSecurityFilter: HttpHeaderSecurityFilter.java: doFilter: 126
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: internalDoFilter: 193
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: doFilter: 166
com.novell.nidp.servlets.filters.jsp.SameOriginFramingFilter: y: doFilter: 1,741
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: internalDoFilter: 193
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: doFilter: 166
com.novell.nidp.servlets.filters.RequestResponseHook: y: doFilter: 3,551
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: internalDoFilter: 193
org.apache.catalina.core.ApplicationFilterChain: ApplicationFilterChain.java: doFilter: 166
org.apache.catalina.core.StandardWrapperValve: StandardWrapperValve.java: invoke: 199
org.apache.catalina.core.StandardContextValve: StandardContextValve.java: invoke: 96
org.apache.catalina.authenticator.AuthenticatorBase: AuthenticatorBase.java: invoke: 543
org.apache.catalina.core.StandardHostValve: StandardHostValve.java: invoke: 139
org.apache.catalina.valves.ErrorReportValve: ErrorReportValve.java: invoke: 81
org.apache.catalina.core.StandardEngineValve: StandardEngineValve.java: invoke: 87
org.apache.catalina.connector.CoyoteAdapter: CoyoteAdapter.java: service: 343
com.novell.nam.tomcat.ajp.NAMAjpProcessor: NAMAjpProcessor.java: service: 464
org.apache.coyote.AbstractProcessorLight: AbstractProcessorLight.java: process: 65
org.apache.coyote.AbstractProtocol$ConnectionHandler: AbstractProtocol.java: process: 818
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor: NioEndpoint.java: doRun: 1,626
org.apache.tomcat.util.net.SocketProcessorBase: SocketProcessorBase.java: run: 49
java.util.concurrent.ThreadPoolExecutor: ThreadPoolExecutor.java: runWorker: 1,149
java.util.concurrent.ThreadPoolExecutor$Worker: ThreadPoolExecutor.java: run: 624
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable: TaskThread.java: run: 61
java.lang.Thread: Thread.java: run: 748 </amLogEntry>

 

 

 

 

SEVERE: The specified user database [conf/tomcat-users.xml] could not be found
2021-02-11T09:59:18 org.apache.catalina.users.MemoryUserDatabase open
WARNING: Failed to close [conf/tomcat-users.xml]
java.io.FileNotFoundException: /opt/novell/nam/idp/conf/tomcat-users.xml (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at org.apache.catalina.users.MemoryUserDatabase.open(MemoryUserDatabase.java:466)
at org.apache.catalina.users.MemoryUserDatabaseFactory.getObjectInstance(MemoryUserDatabaseFactory.java:107)
at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:96)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at org.apache.naming.NamingContext.lookup(NamingContext.java:839)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:117)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:34)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:132)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:106)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:81)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:759)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)


INFO: Deploying web application directory [/opt/novell/nam/idp/webapps/nidp]
2021-02-11T10:36:37 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Context/Manager} Setting property 'saveOnRestart' to 'false' did not find a matching property.
2021-02-11T10:36:38 org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/nidp]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1125)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1858)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:330)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:263)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:318)
at java.util.jar.JarVerifier.update(JarVerifier.java:230)
at java.util.jar.JarFile.initializeVerifier(JarFile.java:385)
at java.util.jar.JarFile.getInputStream(JarFile.java:462)
at org.apache.catalina.webresources.AbstractSingleArchiveResource.getJarInputStreamWrapper(AbstractSingleArchiveResource.java:39)
at org.apache.catalina.webresources.AbstractArchiveResource.doGetInputStream(AbstractArchiveResource.java:230)
at org.apache.catalina.webresources.AbstractResource.getInputStream(AbstractResource.java:93)
at org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream(WebappClassLoaderBase.java:1131)
at org.apache.catalina.startup.ContextConfig.populateJavaClassCache(ContextConfig.java:2235)
at org.apache.catalina.startup.ContextConfig.populateJavaClassCache(ContextConfig.java:2224)
at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2128)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2072)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:2018)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1988)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1941)
at org.apache.catalina.startup.ContextConfig.processClasses(ContextConfig.java:1237)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1144)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:779)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5053)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 10 more

2021-02-11T10:36:38 org.apache.catalina.startup.HostConfig deployDirectory
SEVERE: Error deploying web application directory [/opt/novell/nam/idp/webapps/nidp]
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/nidp]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:747)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1125)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1858)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Has anybody tried this? Or encountered same or similar problem? How did you solve it?

Any suggestions are welcome.

  • I suggest you to contact support and raise a support case for this issue.

  • Verified Answer

    Support provided following solution:

    Please follow the below steps to customize the page title.
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    1. Create the customized file (nidp_custom_resources_en_US.properties) and copy the properties and assign the desired values that need to be changed.
    2. Copy the properties file to IDP server location: "/opt/novell/nam/idp/webapps/nidp/WEB-INF/classes"
    3. Restart the IDP server and check the page title.
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    This solution works on some browsers and it does not work on others. Even on devices that never opened the portal (browsers that are working are random depending on device). This still needs to be investigated further.
  • Well, solution working on some browsers and not on others was of course not random, as it says in the documentation:

    https://www.netiq.com/documentation/access-manager-45/admin/data/bok7icl.html#bhdcovi

    the file name should be without "_en-US" part to support only one language. So the solution did not work on browsers with a primary language that did not equal to English US.

    So the solution is a correction of step 1:

    1. Create the customized file (nidp_custom_resources_en_US.properties) and copy the properties and assign the desired values that need to be changed.