Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Smartgwt 6.1 - not working with Oracle 19C

    Hi Isomorphic,

    We are using a application where we need to connect to Oracle DB of version 19C. But I am facing an error saying the below,

    ORA-28040: No matching authentication protocol

    The smartGWT version we use is 6.1.
    Is there any way to connect using the SGWT 6.1 version ?

    Thanks,
    Manjula

    #2
    There is no known issue with this Oracle version and other customers seem to be succeeding.

    Can you give us the basics:

    1. what specific version (build date)

    2. what JDBC driver

    3. what settings as defined via Admin Console or server.properties

    4. full stack trace of the error

    5. are you using a connection pool, if so, what specific pool and what version

    6. are you able to connect via JDBC directly, and if so, what does that code look like?

    If you need a rapid solution and don't want to isolate to a specific environment/test case that shows the problem you are encountering, please consider our commercial services.

    Comment


      #3
      Hi Isomorphic,

      Please find the requested details below,

      1. smartgwt version -> 6.1-p20171121
      java version -> 1.8
      Oracle DB -> Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

      2. ojdbc8-12.2.0.1.0.jar
      Class I use for connection is -> oracle.jdbc.pool.OracleConnectionPoolDataSource

      3. Server.properties file contains below,
      webRoot: __AUTODETECT__
      isomorphicPathRootRelative: TestApp/sc
      sql.defaultDatabase: TestApp_JNDI
      project.datasources: $webRoot/ds
      project.ui: $webRoot/shared/ui
      project.apps: $webRoot/shared/app
      sql.TestApp_JNDI.driver.name: jdbc/TestAppServerDS
      sql.TestApp_JNDI.database.type: oracle
      sql.TestApp_JNDI.interface.type: jndi

      sql.pool.enabled: false
      sql.TestApp_JNDI.autoJoinTransactions: FROM_FIRST_CHANGE

      4. Please find the below logs,
      Smartgwt console:
      12:04:06.386:INFO:Log:initialized
      12:04:07.080:WARN:Log:New Class ID: 'IAutoFitButton' collides with ID of existing Class object '[Class IAutoFitButton]'. Existing object will be replaced.
      12:04:07.080:WARN:Log:New Class ID: 'HeaderMenuButton' collides with ID of existing Class object '[Class HeaderMenuButton]'. Existing object will be replaced.
      12:04:07.082:WARN:Log:Detected loading of more than one skin - 'Enterprise' was loaded when 'Enterprise' was already loaded. See the QuickStart Guide for instructions on correctly changing the current skin
      12:04:07.208:INFO:Log:isc.Page is loaded
      12:04:08.807:WARN:Log:Unexpected failure to find stack entry logging timing data: description: 'Marshall and send request', type: start
      12:04:08.810:WARN:Log:Unexpected failure to find stack entry logging timing data: description: 'Marshall and send request', type: end
      12:04:08.810:WARN:Log:Unexpected failure to find stack entry logging timing data: description: 'Client processing', type: end
      12:04:10.329:focusin3:WARN:RPCManager:ORA-28040: No matching authentication protocol
      - response: {operationId: "MF_REF_fetch",
      clientContext: Obj,
      internalClientContext: Obj,
      context: Obj,
      transactionNum: 1,
      httpResponseCode: 200,
      httpResponseText: "//isc_RPCResponseStart-->[{"affectedRows..."[196],
      xmlHttpRequest: [object XMLHttpRequest],
      transport: "xmlHttpRequest",
      status: -1,
      clientOnly: undef,
      httpHeaders: Obj,
      isStructured: true,
      callbackArgs: null,
      results: Obj,
      affectedRows: 0,
      data: "ORA-28040: No matching authentication pr..."[47],
      invalidateCache: false,
      isDSResponse: true,
      queueStatus: -1,
      clientTiming: Obj{name:Client processing},
      clientTimingStack: Array[2],
      startRow: 0,
      endRow: 0,
      totalRows: 0}


      Eclipse console:
      [INFO] 2021/03/26 12:04:04:917 DEBUG [qtp227224998-89] SessionListener - SessionListener | sessionCreated [1wpeerzfh3i0le77mlahnzcav]
      [INFO] GET /recompile/App
      [INFO] Job com.bp2s.xproducts.App.App_1_1
      [INFO] starting job: com.bp2s.xproducts.App.App_1_1
      [INFO] binding: locale=en
      [INFO] binding: user.agent=gecko1_8
      [INFO] skipped compile because no input files have changed
      [INFO] 0.258s total -- Compile completed
      [INFO] 2021/03/26 12:04:08:622 DEBUG [qtp227224998-88] SSOUtils - SSOUtils | getCredentials - begin
      [INFO] 2021/03/26 12:04:08:622 DEBUG [qtp227224998-88] SSOUtils - SSOUtils | getSSOUser - user found in session
      [INFO] 2021/03/26 12:04:08:622 DEBUG [qtp227224998-88] SSOUtils - SSOUtils | getCredentials - Found SSOUser : com.bnpparibas.sso.bean.SSOUser Id : -1 DirectoryId : 12345
      [INFO] ClientId : null
      [INFO] Type : 2
      [INFO] DirectoryId : 12345
      [INFO] LastName : MURALI
      [INFO] FirstName : Manjula
      [INFO] authLevel : -1
      [INFO] isInternal : true
      [INFO] isExternal : false
      [INFO] appLevel : 0
      [INFO]
      [INFO] 2021/03/26 12:04:08:623 DEBUG [qtp227224998-88] SSOUtils - SSOUtils | getCredentials - Returning SSOUser : com.bp2s.xproducts.App.shared.model.XPSSORole ID: 12345 NAME: MURALI Manjula SECUREID: null ROLES: [Lcom.bp2s.xproducts.App.shared.model.XPSSORole;@b3cb470
      [INFO] 2021/03/26 12:04:09:293 DEBUG [qtp227224998-90] SessionFilter - SessionFilter | doFilter - Start
      [INFO] 2021/03/26 12:04:09:293 DEBUG [qtp227224998-90] SSOUtils - SSOUtils | getSSOUser - user found in session
      [INFO] 2021/03/26 12:04:09:293 DEBUG [qtp227224998-90] SessionFilter - SessionFilter | doFilter - End
      [INFO] 2021/03/26 12:04:09:985 DEBUG [qtp227224998-90] Velocity - Log4JLogChute using logger 'org.apache.Velocity'
      [INFO] 2021/03/26 12:04:09:985 DEBUG [qtp227224998-90] Velocity - Starting Apache Velocity v1.6.1 (compiled: 2008-12-09 10:57:23)
      [INFO] 2021/03/26 12:04:09:985 DEBUG [qtp227224998-90] Velocity - Default Properties File: org\apache\velocity\runtime\defaults\velocity.properties
      [INFO] 2021/03/26 12:04:09:985 DEBUG [qtp227224998-90] Velocity - Trying to use logger class org.apache.velocity.runtime.log.Log4JLogChute
      [INFO] 2021/03/26 12:04:09:985 DEBUG [qtp227224998-90] Velocity - Using logger class org.apache.velocity.runtime.log.Log4JLogChute
      [INFO] 2021/03/26 12:04:09:990 DEBUG [qtp227224998-90] Velocity - ResourceLoader instantiated: org.apache.velocity.runtime.resource.loader.FileResourceLoader
      [INFO] 2021/03/26 12:04:09:992 DEBUG [qtp227224998-90] Velocity - Do unicode file recognition: false
      [INFO] 2021/03/26 12:04:09:992 DEBUG [qtp227224998-90] Velocity - FileResourceLoader : adding path ''
      [INFO] 2021/03/26 12:04:10:000 DEBUG [qtp227224998-90] Velocity - ResourceCache: initialized (class org.apache.velocity.runtime.resource.ResourceCacheImpl) with class java.util.Collections$SynchronizedMap cache map.
      [INFO] 2021/03/26 12:04:10:001 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Define
      [INFO] 2021/03/26 12:04:10:002 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Break
      [INFO] 2021/03/26 12:04:10:004 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Evaluate
      [INFO] 2021/03/26 12:04:10:004 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Literal
      [INFO] 2021/03/26 12:04:10:006 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Macro
      [INFO] 2021/03/26 12:04:10:007 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Parse
      [INFO] 2021/03/26 12:04:10:008 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Include
      [INFO] 2021/03/26 12:04:10:009 DEBUG [qtp227224998-90] Velocity - Loaded System Directive: org.apache.velocity.runtime.directive.Foreach
      [INFO] 2021/03/26 12:04:10:032 DEBUG [qtp227224998-90] Velocity - Created '20' parsers.
      [INFO] 2021/03/26 12:04:10:040 DEBUG [qtp227224998-90] Velocity - Velocimacro : "velocimacro.library" is not set. Trying default library: VM_global_library.vm
      [INFO] 2021/03/26 12:04:10:040 DEBUG [qtp227224998-90] Velocity - Velocimacro : Default library not found.
      [INFO] 2021/03/26 12:04:10:040 DEBUG [qtp227224998-90] Velocity - Velocimacro : allowInline = true : VMs can be defined inline in templates
      [INFO] 2021/03/26 12:04:10:040 DEBUG [qtp227224998-90] Velocity - Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT replace previous VM definitions
      [INFO] 2021/03/26 12:04:10:041 DEBUG [qtp227224998-90] Velocity - Velocimacro : allowInlineLocal = false : VMs defined inline will be global in scope if allowed.
      [INFO] 2021/03/26 12:04:10:041 DEBUG [qtp227224998-90] Velocity - Velocimacro : autoload off : VM system will not automatically reload global library macros


      5. In server.properties file we have specified this, sql.pool.enabled: false

      6. I have written small java program to test the DB connectivity with jdbc driver class(ojdbc8-12.2.0.1.0.jar). Please find below(For compliance removed DB details),

      import java.sql.*;
      class DBCon{
      public static void main(String args[]){
      try{

      //Class.forName("oracle.jdbc.driver.OracleDriver");
      Class.forName("oracle.jdbc.pool.OracleConnectionPoolDataSource");

      Connection con=DriverManager.getConnection(
      "jdbc:oracle:thin:@XXXXXX:XXXX:XXXXXX","XXXXX","XXXX");

      Statement stmt=con.createStatement();

      ResultSet rs=stmt.executeQuery("select * from Employee");
      while(rs.next())
      System.out.println(rs.getString(1));

      con.close();

      }catch(Exception e){ System.out.println(e);}

      }
      }



      Thanks,
      Manjula

      Comment


        #4
        You have configured the SmartGWT server to acquire connections via JNDI, but your standalone Java test code takes the DriverManager approach.

        You can configured SmartGWT to use DriverManager, like your test code, and that would be expected to work.

        Or, you can alter your test code to use JNDI, and you should find that the JNDI connection is broken, just as the SmartGWT server finds it to me.

        Either way, if you run into more trouble, please update to the latest patched version before reporting issues. You are 3.5 years out of date on patches.

        Comment

        Working...
        X