1 Reply Latest reply: May 24, 2012 8:42 AM by Cdelahun-Oracle RSS

    Toplink 11.1.1.3.0 + weblogic 10.3.5.0 error

    939411
      Hi All,
      Initially i tried to replace the toplink jar(10.1.3.0.0) in my class folder with toplink jar(11.1.1.3.0) and all jar files that i downloaded with the specific toplink version 11.1.1.3.0 .Replacing all previous jars with the new one's might have done the work was the conception.But when i try to start my application is face the following errors.
      Kindly sort me a way out to overcome this problem.

      Local Exception Stack:
      Exception [TOPLINK-7042] (Oracle TopLink - 11g Release 1 (11.1.1.3.0) (Build 100323)): oracle.toplink.exceptions.ValidationException
      Exception Description: Database platform class [oracle.toplink.internal.databaseaccess.SybasePlatform] not found.
      Internal Exception: Exception [TOPLINK-3007] (Oracle TopLink - 11g Release 1 (11.1.1.3.0) (Build 100323)): oracle.toplink.exceptions.ConversionException
      Exception Description: The object [oracle.toplink.internal.databaseaccess.SybasePlatform], of class [class java.lang.String], could not be converted to [class java.lang.Class]. Please ensure that the class [oracle.toplink.internal.databaseaccess.SybasePlatform] is on the CLASSPATH. You may need to use alternate API passing in the appropriate class loader as required, or setting it on the default ConversionManager
      Internal Exception: java.lang.ClassNotFoundException: oracle.toplink.internal.databaseaccess.SybasePlatform
           at oracle.toplink.exceptions.ValidationException.platformClassNotFound(ValidationException.java:1372)
           at oracle.toplink.sessions.DatasourceLogin.setPlatformClassName(DatasourceLogin.java:495)
           at com.pearson.pims.integration.common.BaseToplinkDAO.currentSession(BaseToplinkDAO.java:253)
           at com.pearson.pims.integration.dao.toplink.LoginDAO.checkLogin(LoginDAO.java:334)
           at com.pearson.pims.business.login.ejb.LoginBean.checkLogin(LoginBean.java:79)
           at com.pearson.pims.business.login.ejb.Login_wqzuty_EOImpl.__WL_invoke(Unknown Source)
           at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
           at com.pearson.pims.business.login.ejb.Login_wqzuty_EOImpl.checkLogin(Unknown Source)
           at com.pearson.pims.business.login.util.LoginDelegate.checkLogin(LoginDelegate.java:58)
           at com.pearson.pims.presentation.login.LoginCommand.executeDisplay(LoginCommand.java:421)
           at com.pearson.pims.presentation.common.BaseAction.execute(BaseAction.java:463)
           at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
           at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
           at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
           at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
           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:300)
           at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
           at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526)
           at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
           at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
           at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
           at org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1001)
           at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:345)
           at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:560)
           at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
           at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
           at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
           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:300)
           at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
           at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526)
           at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
           at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:159)
           at jsp_servlet.__index._jspService(__index.java:82)
           at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
           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:300)
           at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416)
           at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326)
           at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
           at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717)
           at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
           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:2277)
           at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
           at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
      Caused by: Exception [TOPLINK-3007] (Oracle TopLink - 11g Release 1 (11.1.1.3.0) (Build 100323)): oracle.toplink.exceptions.ConversionException
      Exception Description: The object [oracle.toplink.internal.databaseaccess.SybasePlatform], of class [class java.lang.String], could not be converted to [class java.lang.Class]. Please ensure that the class [oracle.toplink.internal.databaseaccess.SybasePlatform] is on the CLASSPATH. You may need to use alternate API passing in the appropriate class loader as required, or setting it on the default ConversionManager
      Internal Exception: java.lang.ClassNotFoundException: oracle.toplink.internal.databaseaccess.SybasePlatform
           at oracle.toplink.exceptions.ConversionException.couldNotBeConvertedToClass(ConversionException.java:76)
           at oracle.toplink.internal.helper.ConversionManager.convertObjectToClass(ConversionManager.java:420)
           at oracle.toplink.internal.helper.ConversionManager.convertObject(ConversionManager.java:136)
           at oracle.toplink.internal.helper.ConversionManager.loadClass(ConversionManager.java:830)
           at oracle.toplink.sessions.DatasourceLogin.setPlatformClassName(DatasourceLogin.java:481)
           ... 55 more
      Caused by: java.lang.ClassNotFoundException: oracle.toplink.internal.databaseaccess.SybasePlatform
           at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
           at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
           at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
           at java.lang.Class.forName0(Native Method)
           at java.lang.Class.forName(Class.java:247)
           at oracle.toplink.internal.helper.ConversionManager.convertObjectToClass(ConversionManager.java:417)
           ... 58 more
      java.rmi.RemoteException: EJB Exception: ; nested exception is:
           Exception [TOPLINK-7001] (Oracle TopLink - 11g Release 1 (11.1.1.3.0) (Build 100323)): oracle.toplink.exceptions.ValidationException
      Exception Description: You must login to the ServerSession before acquiring ClientSessions.
           at weblogic.ejb.container.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:106)
           at weblogic.ejb.container.internal.BaseRemoteObject.handleSystemException(BaseRemoteObject.java:857)
           at weblogic.ejb.container.internal.BaseRemoteObject.handleSystemException(BaseRemoteObject.java:809)
           at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:518)
           at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:49)
           at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:444)
           at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:53)

      Do i need to change files as well for settings to be done for the changed jars and mappings so as for the application to work??
        • 1. Re: Toplink 11.1.1.3.0 + weblogic 10.3.5.0 error
          Cdelahun-Oracle
          Hello,

          You are using a deprecated platform class that was removed in TopLink 11.
          TopLink 11 removed the oracle.toplink.publicinterface.* package and removed the platform classes from oracle.toplink.internal.databaseaccess.

          You will need to change the TopLink project.xml or project class file so that it uses the new oracle.toplink.platform.database.SybasePlatform class instead of the removed oracle.toplink.internal.databaseaccess.SybasePlatform.

          An alternative is take the source from TopLink 11 for the oracle.toplink.platform.database.SybasePlatform class and repackage and compile it as oracle.toplink.internal.databaseaccess.SybasePlatform and then add it to the classpath. This would allow the app to work with the TopLink 11 jars without any changes as long as there were not other deprecated classes being used.

          Best Regards,
          Chris