BUGREPORT: Timestamp issue when creating new url mappings
811125Nov 15 2012 — edited Nov 16 2012We have come accross and issue when adding multiple databases and subsiqent url mappings.
the issue presented in the log is
####<Nov 16, 2012 10:49:52 AM CST> <Error> <HTTP> <adeoraapp03.santos.com> <WLS_APEX> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1353025192413> <BEA-101020> <[ServletContext@955221946[app:apex module:apex.war path:/apex spec-version:2.5]] Servlet failed with Exception
java.lang.IllegalArgumentException: Not a correctly formatted timestamp: 2012-11-15T23:52:58.0080Z
at oracle.dbtools.common.util.Timestamps.valueOf(Timestamps.java:61)
at oracle.dbtools.common.config.db.UrlMappings$Builder$1PoolFilter.startElement(UrlMappings.java:199)
at oracle.dbtools.common.x3p.MatchFilter.startElement(MatchFilter.java:54)
at oracle.dbtools.common.x3p.impl.Event.invoke(Event.java:52)
at oracle.dbtools.common.x3p.impl.Chain$EventIterator.advance(Chain.java:125)
at oracle.dbtools.common.x3p.impl.Chain$EventIterator.advance(Chain.java:79)
at oracle.dbtools.common.util.AbstractIterator.next(AbstractIterator.java:28)
at oracle.dbtools.common.x3p.impl.X3PReaderAdaptor.next(X3PReaderAdaptor.java:34)
at oracle.dbtools.common.config.db.UrlMappings$Builder.read(UrlMappings.java:170)
at oracle.dbtools.common.config.db.UrlMappings.existing(UrlMappings.java:99)
at oracle.dbtools.common.config.db.UrlMappings.urlMappings(UrlMappings.java:93)
at oracle.dbtools.common.config.db.DatabasePoolConfig.loadFromXML(DatabasePoolConfig.java:285)
at oracle.dbtools.common.config.db.DatabasePoolConfig.loadFromDBFromTime(DatabasePoolConfig.java:181)
at oracle.dbtools.common.config.db.DatabasePoolConfig.getPoolInfo(DatabasePoolConfig.java:54)
at oracle.dbtools.rt.jdbc.DatabaseConnectionFilter.poolInfo(DatabaseConnectionFilter.java:60)
at oracle.dbtools.rt.jdbc.DatabaseConnectionFilter.applyDatabaseConnectionInfo(DatabaseConnectionFilter.java:71)
at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>
This seems to be due to a time format issue when adding new database mapping in the url-mappings
when running the following command
@:as11g_pfrd_prod> java -jar apex.war map-url --type base-path /apexpoc apexpoc
Nov 16, 2012 10:22:57 AM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
INFO: Using configuration folder: /data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/apex_config/apex
@:as11g_pfrd_prod> pwd
/data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/stage/apex
After running the command the following entry was added to url mappings file
This resulted in the following entries in url-mapping.xml, (the timestamps are in to be in UTC):
<pool base-path="/apexpoc" name="apexpoc" updated="2012-11-15T23:52:58.0080Z"/>
Which caused the above stack trace and also caused a internal error 500 on the browser when trying to access APEX
we removed the url mapping and ran the following command(at a different time in the day)
@:as11g_pfrd_prod> pwd
/data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/stage/apex
@:as11g_pfrd_prod> java -jar apex.war map-url --type base-path /apexpoc apexpoc
Nov 16, 2012 10:58:35 AM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
INFO: Using configuration folder: /data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/apex_config/apex
which resulted in a new entry in the url mappings table
<pool base-path="/apexpoc" name="apexpoc" updated="2012-11-16T00:28:35.479Z"/>
And the apex listener worked again