2 Replies Latest reply: Nov 16, 2012 4:32 PM by 811125 RSS

    BUGREPORT: Timestamp issue when creating new url mappings

    811125
      We 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