When the Teamsite application is freshly installed, it allows keying in database details. However later when the database login information needs to be updated, TeamSite provides no interface nor documents for updating it.
From my best effort, the most suspected place to be changed is: /usr/Interwoven/CommonServices/config/private/database.properties
#
# database.properties.example
#
# Database connection information for Interwoven Registry Service.
#
# the development database schema connection info
connection.driver_class=oracle.jdbc.driver.OracleDriver
connection.url=jdbc:oracle:thin:@myhost:myport:myservicename
connection.username=iwcommon
connection.password=NBk8oBfFLHpwQ4AcM0+el8nr7qfObiBW
database.type=oracle
database.name=myservicename
database.port=myport
database.server=myhost
# orm configuration.
#
# For Microsoft SQL Server: org.hibernate.dialect.SQLServerDialect
# For Oracle: org.hibernate.dialect.OracleDialect
#
orm.dialect=org.hibernate.dialect.OracleDialect
#
# updateSchemaOnStartup=<true|false>
#
# if true, then ORM synches the mapping files with the tables in the schema.
# if false, existing schema is not changed.
#
#orm.updateSchemaOnStartup=false
I have to update it to another Oracle database server with different hostname and service name, but same password. However, authentication error is encountered upon completion of change and reboot. Here is the extracted common service log at /usr/Interwoven/ApplicationContainer/server/default/log/commonservice.log
2014-09-01 17:24:48,430 [http-0.0.0.0-8080-4] INFO org.apache.cxf.phase.PhaseInterceptorChain () - Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Invalid ServiceId/ClientId - Authentication failed
at com.interwoven.wcm.service.framework.AuthenticationInterceptor.handleMessage(AuthenticationInterceptor.java:121)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:283)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:128)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.interwoven.wcm.service.iwovregistry.common.ConfigException: Invalid ServiceId/ClientId - Authentication failed
... 28 more
2014-09-01 17:24:48,444 [http-0.0.0.0-8080-4] WARN org.hibernate.util.JDBCExceptionReporter () - SQL Error: 12505, SQLState: 66000
2014-09-01 17:24:48,444 [http-0.0.0.0-8080-4] ERROR org.hibernate.util.JDBCExceptionReporter () - Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
2014-09-01 17:24:48,444 [http-0.0.0.0-8080-4] ERROR com.interwoven.wcm.service.iwovregistry.adaptors.AbstractBackupAdaptor () - Failed to get TeamSite serviceInfo or IRService home directory when obtaining CSFactory.
com.interwoven.wcm.service.iwovregistry.common.ConfigException: Exception while reading/writing from Database [ getServiceInfoByComponentName ]
at com.interwoven.wcm.service.iwovregistry.adaptors.ServiceInfoAdaptor.getServiceInfoByComponentName(ServiceInfoAdaptor.java:674)
at com.interwoven.wcm.service.iwovregistry.adaptors.AbstractBackupAdaptor.getFactory(AbstractBackupAdaptor.java:422)
at com.interwoven.wcm.service.iwovregistry.adaptors.AbstractComponentManager.getCSClient(AbstractComponentManager.java:93)
at com.interwoven.wcm.service.iwovregistry.adaptors.AuthenticateSessionStringAdaptor.authenticateSessionString(AuthenticateSessionStringAdaptor.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.interwoven.wcm.service.iwovregistry.adaptorlayer.AdaptorFactory.invokeAdaptor(AdaptorFactory.java:212)
at com.interwoven.wcm.service.iwovregistry.servicelayer.ConfigServiceImpl.execute(ConfigServiceImpl.java:92)
at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUserByClientId(AuthenticationInterceptor.java:417)
at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUser(AuthenticationInterceptor.java:309)
at com.interwoven.wcm.service.framework.AuthenticationInterceptor.handleMessage(AuthenticationInterceptor.java:114)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:283)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:128)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353)
at com.interwoven.wcm.service.iwovregistry.adaptors.ServiceInfoAdaptor.getServiceInfoByComponentName(ServiceInfoAdaptor.java:658)
... 39 more
Caused by: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
... 44 more
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:385)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 52 more
2014-09-01 17:24:48,446 [http-0.0.0.0-8080-4] ERROR com.interwoven.wcm.service.framework.AuthenticationInterceptor () - Error while parsing incoming message for authentication
com.interwoven.wcm.service.iwovregistry.common.ConfigException: java.lang.NullPointerException
at com.interwoven.wcm.service.iwovregistry.adaptorlayer.AdaptorFactory.invokeAdaptor(AdaptorFactory.java:264)
at com.interwoven.wcm.service.iwovregistry.servicelayer.ConfigServiceImpl.execute(ConfigServiceImpl.java:92)
at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUserByClientId(AuthenticationInterceptor.java:417)
at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUser(AuthenticationInterceptor.java:309)
at com.interwoven.wcm.service.framework.AuthenticationInterceptor.handleMessage(AuthenticationInterceptor.java:114)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:283)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:128)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at com.interwoven.wcm.service.iwovregistry.adaptors.AbstractComponentManager.getCSClient(AbstractComponentManager.java:94)
at com.interwoven.wcm.service.iwovregistry.adaptors.AuthenticateSessionStringAdaptor.authenticateSessionString(AuthenticateSessionStringAdaptor.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.interwoven.wcm.service.iwovregistry.adaptorlayer.AdaptorFactory.invokeAdaptor(AdaptorFactory.java:212)
... 31 more
Appreciate if anyone knows the correct way of changing the database details. Moreover, I have no idea how is the password formed, so that would also be a problem later, as the policy of my company requires regular database password update. Thanks a lot!