URGENT!!! iAS 6 SP2 - Solaris 8 -- Exceptions in a CMP EB


EJB programming & troubleshooting: URGENT!!! iAS 6 SP2 - Solaris 8 -- Exceptions in a CMP EB

  1. Hi,

    I'm having a lot of problems executing a CMP EB in iAS6. I deploy the EB from Forte4Java. Then I construct a few servlets to test the entity bean. The bean and the servlet are packaged in a .EAR file. All is deployed succesfully, and i can see the application in the iAS Administration Tool.

    When I execute the application all servlets run correct, until I invoke the CMP EB. When the servlet get the "home" interface Ok. I execute "findByPrimaryKey(...)" and all looks ok. I get the "remote" interface. After this I invoke a getter method and crash.

    [ Servlet name: TestJMECMP
      CMP EJB name: JMENotaGastos
      Method name: getObservaciones ]

    The exception in the iAS log file is:

    java.lang.IllegalArgumentException: object is not an instance of declaring class
    at java.lang.reflect.Field.get(Native Method)
    at java.lang.reflect.Field.get(Compiled Code)
    at com.netscape.server.ejb.SQLPersistenceManager.read(Compiled Code)
    at com.netscape.server.ejb.EntityDelegateManagerImpl.doPersistentLoad(Unknown Source)
    at com.netscape.server.ejb.EntityDelegateManagerImpl.getImplNonTxNonReady(Unknown Source)
    at com.netscape.server.ejb.EntityDelegateManagerImpl.getImplNonTx(Unknown Source)
    at com.netscape.server.ejb.EJBObjectCoordinator.getImpl(Unknown Source)
    at com.kivasoft.eb.EBObjectBase.getDelegateForUpCallEntity(Unknown Source)
    at com.kivasoft.eb.EBObjectBase.getDelegateForUpCall(Unknown Source)
    at com.kivasoft.eb.EBSkelDelegate._ns_getDelegateForUpCall(Unknown Source)
    at ejb.ejb_skel_ejb_JMENotaGastosEJB.getObservaciones(ejb_skel_ejb_JMENotaGastosEJB.java:55)
    at ejb.ejb_kcp_skel_JMENotaGastos.getObservaciones__indir_wstring__void(ejb_kcp_skel_JMENotaGastos.java:204)
    at com.kivasoft.ebfp.FPRequest.invokenative(Native Method)
    at com.kivasoft.ebfp.FPRequest.invokenative(Native Method)
    at com.kivasoft.ebfp.FPRequest.invoke(Unknown Source)
    at ejb.ejb_kcp_stub_JMENotaGastos.getObservaciones(ejb_kcp_stub_JMENotaGastos.java:320)
    at ejb.ejb_stub_JMENotaGastos.getObservaciones(ejb_stub_JMENotaGastos.java:71)
    at TestJMECMP.doPost(TestJMECMP.java:111)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown Source)
    at com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unknown Source)
    at com.kivasoft.applogic.AppLogic.execute(Unknown Source)
    at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Compiled Code)
    at java.lang.Thread.run(Compiled Code)

    In the first lines of the stack trace you can see that the persistence manager try to recover the information of DB field to map to CMP field (I think, but I'm not sure).
    ¿Do you know if iAS have any problem with informix? ¿Or with the version of JDBC Driver? ¿FFJ generates the CMPLightweight information correct? ¿Another idea?

    This problem is delaying a lot our development ¿Any suggestions?

    Environment Information:
        Platform: Sun E450 Solaris 8
        AppServer: iAS 6 SP 2
        WebServer: iWS 4.1 SP?? (with iAS Connector)
        Database: Informix 7.30.UC8
        JDBCDriver: Informix JDBC Driver 2.20JC2
        Dev. Tool: Forte for Java 3.0 EE (EA)

    ThanX a lot
        José Moreno
  2. I don't know the answer to your question. But I recommend you post it also at the developer.iplanet.com ias newsgroup. I also use iAS 6, and that newsgroup is frequently checked by iPlanet engineers helping out customers.