Cpx error in struts-bc4j application

First of all, sorry about my english. I have a problem with a nom existing cpx file call "Modelo.cpx", the same name of the one of my proyects which have the bussiness components and java sources. The other proyect have all of the struts files like "struts-config" and jsp´s, also the "web.xml" is here.
My problent is with a struts pluging that take an ApplicationModule, and finaly release it using configuration.class and the methods "createRootApplicationModule" and "releaseApplicationModule". The funny thing is, when I run my application, I have an error, but when I reload the page in my browser everything goes perfectly.
In my second proyect exist the real cpx file that work correctly, is the cpx call from the web.xml.
This is the error:
500 Internal Server Error
oracle.jbo.NoXMLFileException: JBO-26001: XML File not found for the Container Modelo.cpx
     oracle.jbo.mom.ContainerDefImpl oracle.jbo.mom.DefinitionManager.loadProjectDefinition(java.lang.String)
          DefinitionManager.java:751
     oracle.jbo.mom.ContainerDefImpl oracle.jbo.mom.DefinitionManager.loadProjectDefinition()
          DefinitionManager.java:793
     void oracle.jbo.mom.DefinitionManager.initManager()
          DefinitionManager.java:137
     void oracle.jbo.uicli.mom.JUMetaObjectManager.<init>()
          JUMetaObjectManager.java:57
     oracle.jbo.uicli.mom.JUMetaObjectManager oracle.jbo.uicli.mom.JUMetaObjectManager.getJUMom()
          JUMetaObjectManager.java:131
     oracle.jbo.common.ampool.SessionCookie oracle.jbo.http.HttpContainer.findSessionCookie(javax.servlet.http.HttpSession, java.lang.String, java.lang.String, java.util.Properties)
          HttpContainer.java:541
     boolean oracle.jbo.html.struts11.BC4JRequestProcessor.initPageFromPath(oracle.jbo.html.struts11.BC4JActionMapping, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          BC4JRequestProcessor.java:222
     org.apache.struts.action.ActionMapping oracle.jbo.html.struts11.BC4JRequestProcessor.processMapping(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
          BC4JRequestProcessor.java:124
     void org.apache.struts.action.RequestProcessor.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          RequestProcessor.java:234
     void org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          ActionServlet.java:1292
     void org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          ActionServlet.java:510
     void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
          HttpServlet.java:760
     void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          HttpServlet.java:853
     void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
          ServletRequestDispatcher.java:721
     void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
          ServletRequestDispatcher.java:306
     boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
          HttpRequestHandler.java:767
     void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
          HttpRequestHandler.java:259
     void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
          HttpRequestHandler.java:106
     void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
          PooledExecutor.java:803
     void java.lang.Thread.run()
          Thread.java:484
Thanks in advance.

provider.xml
<?xml version = '1.0' encoding = 'UTF-8' standalone='yes'?>
<?providerDefinition version="3.1"?>
<provider class="oracle.portal.provider.v2.DefaultProviderDefinition">
<session>true</session>
<passAllUrlParams>true</passAllUrlParams>
<portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
<id>1</id>
<name>MyPortlet</name>
<title>- Registration Form -</title>
<description>My Portlet Description</description>
<timeout>40</timeout>
<showEditToPublic>false</showEditToPublic>
<hasAbout>false</hasAbout>
<showEdit>false</showEdit>
<hasHelp>false</hasHelp>
<showEditDefault>false</showEditDefault>
<showDetails>false</showDetails>
<inputParameter class="oracle.portal.provider.v2.DefaultParameterDefinition">
<name>MyParam</name>
<displayName>My Portlet Parameter</displayName>
</inputParameter>
<renderer class="oracle.portal.provider.v2.render.RenderManager">
<renderContainer>true</renderContainer>
<renderCustomize>true</renderCustomize>
<autoRedirect>true</autoRedirect>
<contentType>text/html</contentType>
<showPage>/registration.jsp</showPage>
<showPage class="oracle.portal.provider.v2.render.http.StrutsRenderer">/register.do</showPage>
</renderer>
</portlet>
</provider>
I'd saw some example, which using <defaultAction>, however, wen i put in <defaultAction>/register.do</defaultAction>
i'll have error in my Provider Test Page. Validation Unsuccessful.
Error: Class oracle.portal.provider.v2.render.http.StrutsRenderer has no set or add method for tag "defaultAction"
Is <defaultAction> a necessary tag? Is tat e reason y my application isnt running?

Similar Messages

  • Generated STRUTS BC4J App not able to create view row

    I have build a BC4J AppModul with JDeveloper 9.03. The AppModul works fine in the testerapp and also with a UIX generated application. However, with the generated STRUTS BC4J app i allways get the following error message JBO-25013: Too many objects match the primary key oracle.jbo.Key[78 ] when creating a new entry (Browse/New/Update). The exception is thrown in the oracle.jbo.html.struts11.actions.UpdateAction.java populateRow() method. The related entity class builds the primary key with oracle.jbo.server.SequenceImpl in its create() method. Any idea ?

    I think the ViewObject you operated in your ApplicationModule contains two or more Rows has the same
    primary_keys.Check that!!

  • Help on Struts BC4J Framework

    Hi Everybody,
    I am new to BC4J Framework. I have enough experience in Java and JSP/Struts. Is there any guide which will explain me step by step development of an sample application using JDeveloper, Struts, BC4J and Oracle Database. I have tried to search the forum, but not able to find proper document. Please help.
    Thanks & Regards,
    Shailesh Joshi

    Can anyone please tell me why in struts in most of the situations we are getting the error,
    cannot find ActionForward and ActionMappings.You're getting the error because Struts isn't configured correctly. The solution is to configure Struts correctly.
    ~

  • Bussines rules problems using Struts + BC4J

    Hi, I'm using struts + bc4j and I have some problems with the validations made on the entities.
    Looks like sometimes, struts didn't shows the error message until the commit is made. But the problem is that on the navigator shows me the stack trace of the exception, but only when I do the commit of the transaction.
    In the test of the application module, the business rules works perfectly.
    If somebody can help me i will aprecciate it.
    Thanks
    Daniel Gonzalez

    There are already some threads on this topic.
    Unfortunately, they don't give solutions - not yet ;)
    Custom Method Validator
    addVetoableChangeListener for attribute doesn't seem to get fired
    HTH,
    Adrian

  • Struts bc4j

    Sometimes i got the following error:
    oracle.jbo.PCollException: JBO-28012: Could not add key column keycont to table PS_KimModule_1
    ..... at oracle.jbo.pcoll.OraclePersistManager.createKeyInfoTable(....)
    in conjunction with:
    ORA-00054:resource busy and ayquire with NOWAIT specified
    This is within a STRUTS/JSP/BC4J application.
    The BC4J Application Module is named KimModule.
    The error occures when querying a set of 1500 rows from a table and presenting the result as a table.
    No Bc4J Tags are used.
    BTW: i find the design of BC4J a bad choice, since it relies on the creation of (randomly) sequentially generated tables E.g. PS_KimModule_1

    This means that you have put the <controller> element in the wrong order in the XML file. If you look in the struts-config_1_1.dtd, you'll see declared there the expected order of child elements for the <struts-config> element. You need to respect this order correctly or your XML file is not valid.

  • Getting JBO-34010 error while running the application

    Hi,
    I have created a small application using Toplink and ADF-RC. When I ran the application I am getting this below error...
    oracle.security.jazn.JAZNRuntimeException: JBO-34010: The "model/DataBindings.cpx" descriptor appears in the application classpath more than once:
    - file:/home/oracle/jdev/JDev/mywork/MyApp/ViewController/classes/model/DataBindings.cpx
    - file:/home/oracle/jdev/JDev/mywork/MyApp/Model/classes/model/DataBindings.cpx
    What could be wrong?
    Please help me out as I compeltly stuck here.
    Message was edited by:
    Sreekanth

    What is your desired startup page? Is it something like home.html, or index.jsp? Are you opening the application with a URL like:
    http://myhost/myapp
    If so, you probably need to add the welcome file definitions in your web.xml file. You can find the syntax in the OC4J docs.
    John H.

  • HOWTO: Using a BC4J Application Module in an Stateless EJB Session Bean

    HOWTO: Using a BC4J Application Module in an Stateless EJB Session Bean
    by Steve Muench
    Overview
    BC4J provides automatic facilities for deploying any application module as a stateful EJB session bean. If you want to leverage the features of your BC4J application module from a stateless EJB session bean, it's not automatic but it is straightforward to implement. This howto article explains the details.
    For our example, we will create a stateless EJB session bean that uses a container-managed transaction. To keep things simple, let's assume the session bean has a single public method on its remote interface named createDepartment() with the following signature:
    public void createDepartment(int id, String name, String loc) throws AppException
    AppException is an example of an application-specific exception that our method will throw if any problems arise during its execution.The goal of this article is to illustrate how to use the BC4J application module named com.example.hr.HRApp as part of the implementation of this createDepartment method on our stateless enterprise bean. Let's assume that the HRApp application module has a view object member named Departments, based on the com.example.hr.DeptView view object, based on the familiar DEPT table and related to the com.example.hr.Dept entity object so our view can be updateable.
    Creating the Stateless Session Bean
    We can start by using the JDeveloper Enterprise Bean wizard to create a new stateless session bean called StatelessSampleEJB implemented by:[list][*]com.example.StatelessSampleEJBBean (Bean class)[*]com.example.StatelessSampleEJBHome (Home interface)[*]com.example.StatelessSampleEJB (Remote interface)[list]
    We then use the EJB Class Editor to add the createDepartment method to the remote interface of StatelessSampleEJB with the signature above. We edit the remote interface to make sure that it also reflects that the createDepartment method thows the AppException like this:
    package com.example;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    public interface StatelessSampleEJB extends EJBObject {
      void createDepartment(int id, String name, String loc)
      throws RemoteException,AppException;
    }Before we start adding BC4J into the picture for our implementation, our StatelessSampleEJBBean class looks like this:
    package com.example;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    public class StatelessSampleEJBBean implements SessionBean {
      public void ejbCreate(){}
      public void ejbActivate(){}
      public void ejbPassivate(){}
      public void ejbRemove(){}
      public void setSessionContext(SessionContext ctx){
      public void createDepartment(int id, String name, String loc) 
      throws AppException {
        // TODO: Implement method here
    }We can double-click on the ejb-jar.xml file in our project to see the XML deployment descriptor for the bean we just created:
    <ejb-jar>
       <enterprise-beans>
          <session>
             <description>Session Bean ( Stateless )</description>
             <display-name>StatelessSampleEJB</display-name>
             <ejb-name>StatelessSampleEJB</ejb-name>
             <home>com.example.StatelessSampleEJBHome</home>
             <remote>com.example.StatelessSampleEJB</remote>
             <ejb-class>com.example.StatelessSampleEJBBean</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
          </session>
       </enterprise-beans>
    </ejb-jar>We need to add the extra <assembly-descriptor> section in this file to indicate that the createDepartment method will require a transaction. After this edit, the ejb-jar.xml file looks like this:
    <ejb-jar>
       <enterprise-beans>
          <session>
             <description>Session Bean ( Stateless )</description>
             <display-name>StatelessSampleEJB</display-name>
             <ejb-name>StatelessSampleEJB</ejb-name>
             <home>com.example.StatelessSampleEJBHome</home>
             <remote>com.example.StatelessSampleEJB</remote>
             <ejb-class>com.example.StatelessSampleEJBBean</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
          </session>
       </enterprise-beans>
       <assembly-descriptor>
          <container-transaction>
             <method>
                <ejb-name>StatelessSampleEJB</ejb-name>
                <method-name>createDepartment</method-name>
                <method-params>
                   <method-param>int</method-param>
                   <method-param>java.lang.String</method-param>
                   <method-param>java.lang.String</method-param>
                </method-params>
             </method>
             <trans-attribute>Required</trans-attribute>
          </container-transaction>
       </assembly-descriptor>
    </ejb-jar>
    Aggregating a BC4J Application Module
    With the EJB aspects of our bean setup, we can proceed to implementing the BC4J application module aggregation.
    The first thing we do is add private variables to hold the EJB SessionContext and the instance of the aggregated BC4J ApplicationModule, like this:
    // Place to hold onto the aggregated appmodule instance
    transient private ApplicationModule _am  = null;
    // Remember the SessionContext that the EJB container provides us
    private           SessionContext    _ctx = null;and we modify the default, empty implementation of the setSessionContext() method to remember the session context like this:
    public void setSessionContext(SessionContext ctx){ _ctx = ctx; }We add additional constants that hold the names of the J2EE datasource that we want BC4J to use, as well as the fully-qualified name of the BC4J application module that we'll be aggregating:
    // JNDI resource name for the J2EE datasource to use
    private static final String DATASOURCE = "jdbc/OracleCoreDS";
    // Fully-qualified BC4J application module name to aggregate
    private static final String APPMODNAME = "com.example.hr.HRApp";We expand the now-empty ejbCreate() and ejbRemove() methods to create and destory the aggregated instance of the BC4J application module that we'll use for the lifetime of the stateless session bean. When we're done, ejbCreate() it looks like this:
    public void ejbCreate() throws CreateException {
      try {
        // Setup a hashtable of environment parameters for JNDI initial context
        Hashtable env = new Hashtable();
        env.put(JboContext.INITIAL_CONTEXT_FACTORY,JboContext.JBO_CONTEXT_FACTORY);
        // NOTE: we want to use the BC4J app module in local mode as a simple Java class!
        env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
        env.put(PropertyConstants.INTERNAL_CONNECTION_PARAMS,DATASOURCE);
        // Create an initial context, using this hashtable of environment params
        InitialContext ic = new InitialContext(env);
        // Lookup a home interface for the application module
        ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(APPMODNAME);
        // Using the home, create the instance of the appmodule we'll use
        _am = home.create();
        // Register the BC4J factory to handle EJB container-managed transactions
        registerContainerManagedTransactionHandlerFactory();
      catch(Exception ex) {
         ex.printStackTrace();
        throw new CreateException(ex.getMessage());
    }and ejbRemove() looks like this:
    public void ejbRemove() {
      try {
        // Cleanup any appmodule resources before getting shutdown
        _am.remove();
      catch(JboException ex) { /* Ignore */ }
    }The helper method named reigsterContainerManagedTransactionHandlerFactory() looks like this:
    private void registerContainerManagedTransactionHandlerFactory() {
      SessionImpl session = (SessionImpl)_am.getSession();
      session.setTransactionHandlerFactory(
        new TransactionHandlerFactory() {
          public TransactionHandler  createTransactionHandler() {
            return new ContainerManagedTxnHandlerImpl();
          public JTATransactionHandler createJTATransactionHandler() {
            return new ContainerManagedTxnHandlerImpl();
    }The last detail is to use the BC4J appmodule to implement the createDepartment() method. It ends up looking like this:
    public void createDepartment(int id, String name, String loc)
    throws AppException {
      try {
        // Connect the AM to the datasource we want to use for the duration
        // of this single method call.
        _am.getTransaction().connectToDataSource(null,DATASOURCE,false);
        // Use the "Departments" view object member of this AM
        ViewObject departments = _am.findViewObject("Departments");
        // Create a new row in this view object.
        Row newDept = departments.createRow();
        // Populate the attributes from the parameter arguments.
        newDept.setAttribute("Deptno", new Number(id));
        newDept.setAttribute("Dname", name);
        newDept.setAttribute("Loc", loc);
        // Add the new row to the view object's default rowset
        departments.insertRow(newDept);
        // Post all changes in the AM, but we don't commit them. The EJB
        // container managed transaction handles the commit.
        _am.getTransaction().postChanges();
      catch(JboException ex) {
        // To be good EJB Container-Managed Transaction "citizens" we have
        // to mark the transaction as needing a rollback if there are problems
        _ctx.setRollbackOnly();
        throw new AppException("Error creating dept "+ id +"\n"+ex.getMessage());
      finally {
        try {
          // Disconnect the AM from the datasource we're using
          _am.getTransaction().disconnect();
        catch(Exception ex) { /* Ignore */ }
    Building a Test Client
    With the EJB-Tier work done, we can build a sample client program to test this new stateless EJB Session Bean by selecting the bean in the Oracle9i JDeveloper IDE and choosing "Create Sample Java Client" from the right-mouse menu.
    When the "Sample EJB Client Details" dialog appears, we take the defaults of connecting to embedded OC4J container. Clicking the (OK) button generates the following test class:
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import com.example.StatelessSampleEJB;
    import com.example.StatelessSampleEJBHome;
    public class SampleStatelessSampleEJBClient {
      public static void main(String [] args) {
        SampleStatelessSampleEJBClient sampleStatelessSampleEJBClient =
           new SampleStatelessSampleEJBClient();
        try {
          Hashtable env = new Hashtable();
          env.put(Context.INITIAL_CONTEXT_FACTORY,
                  "com.evermind.server.rmi.RMIInitialContextFactory");
          env.put(Context.SECURITY_PRINCIPAL, "admin");
          env.put(Context.SECURITY_CREDENTIALS, "welcome");
          env.put(Context.PROVIDER_URL,
                  "ormi://localhost:23891/current-workspace-app");
          Context ctx = new InitialContext(env);
          StatelessSampleEJBHome statelessSampleEJBHome =
               (StatelessSampleEJBHome)ctx.lookup("StatelessSampleEJB");
          StatelessSampleEJB statelessSampleEJB;
          // Use one of the create() methods below to create a new instance
          // statelessSampleEJB = statelessSampleEJBHome.create();
          // Call any of the Remote methods below to access the EJB
          // statelessSampleEJB.createDepartment( int id, java.lang.String name, java.lang.String loc );
        catch(Throwable ex) {
          ex.printStackTrace();
    }We uncomment the call to the create() method and add a few calls to the createDepartment() method so that the body of the test program now looks like this:
    // Use one of the create() methods below to create a new instance
    statelessSampleEJB = statelessSampleEJBHome.create();
    // Call any of the Remote methods below to access the EJB
    statelessSampleEJB.createDepartment( 13, "Test1","Loc1");
    System.out.println("Created department 13");
    statelessSampleEJB.createDepartment( 14, "Test2","Loc2");
    System.out.println("Created department 14");
    try {
      // Try setting a department id that is too large!
      statelessSampleEJB.createDepartment( 23456, "Test3","Loc3");
    catch (AppException ax) {
      System.err.println("AppException: "+ax.getMessage());
    }Before we can successfully run our SampleStatelessSampleEJBClient we need to first run the EJB bean that the client will try to connect to. Since Oracle9i JDeveloper supports local running and debugging of the EJB-Tier without doing through a full J2EE deployment step, to accomplish this prerequisite step we just need to right-mouse on the StatelessSampleEJB node in the System Navigator and select "Run". This starts up the embedded OC4J instance and runs the EJB right out of the current out path.Finally, we can run the SampleStatelessSampleEJBClient, and see the output of the test program in the JDeveloper log window:
    Created department 13
    Created department 14
    AppException: Error creating dept 23456
    JBO-27010: Attribute set with value 23456 for Deptno in Dept has invalid precision/scale
    Troubleshooting
    One error that might arise while running the example is that the database connection information in your data-sources.xml for the jdbc/OracleCoreDS datasource does not correspond to the database you are trying to test against. If this happens, then double-check the file .\jdev\system\oc4j-config\data-sources.xml under the JDeveloper installation home directory to make sure that the url value provided is what you expect. For example, to work against a local Oracle database running on your current machine, listening on port 1521, with SID of ORCL, you would edit this file to have an entry like this for jdbc/OracleCoreDS :
    <data-source
        class="com.evermind.sql.DriverManagerDataSource"
        name="OracleDS"
        location="jdbc/OracleCoreDS"
        xa-location="jdbc/xa/OracleXADS"
        ejb-location="jdbc/OracleDS"
        connection-driver="oracle.jdbc.driver.OracleDriver"
        username="scott"
        password="tiger"
        url="jdbc:oracle:thin:@localhost:1521:ORCL"
        inactivity-timeout="30"
    />This is the data-sources.xml file that gets used by the embedded OC4J instance running in JDeveloper.
    Conclusion
    Hopefully this article has illustrated that it is straightforward to utilize the full power of BC4J in local mode as part of your EJB Stateless Session Beans using container-managed transaction. This example illustrated a single createDepartment method in the enterprise bean, but by replicating the application module interaction code that we've illustrated in createDepartment, any number of methods in your stateless session bean can use the aggregated application module instance created in the ejbCreate() method.
    Code Listing
    The full code listing for the SampleStatelessEJB bean implementation class looks like this:
    * StatelessSampleEJB
    * Illustrates how to use an aggregated BC4J application module
    * in local mode as part of the implementation of a stateless
    * EJB session bean using container-managed transaction.
    * HISTORY
    * smuench/dmutreja 14-FEB-2002 Created
    package com.example;
    import oracle.jbo.*;
    import oracle.jbo.server.*;
    import javax.ejb.*;
    import oracle.jbo.domain.Number;
    import oracle.jbo.common.PropertyConstants;
    import java.util.Hashtable;
    import javax.naming.InitialContext;
    import oracle.jbo.server.ejb.ContainerManagedTxnHandlerImpl;
    public class StatelessSampleEJBBean implements SessionBean {
      // JNDI resource name for the J2EE datasource to use
      private static final String DATASOURCE = "jdbc/OracleCoreDS";
      // Fully-qualified BC4J application module name to aggregate
      private static final String APPMODNAME = "com.example.hr.HRApp";
      // Place to hold onto the aggregated appmodule instance
      transient private ApplicationModule _am  = null;
      // Remember the SessionContext that the EJB container provides us
      private           SessionContext    _ctx = null;
      public void ejbCreate() throws CreateException {
        try {
          // Setup a hashtable of environment parameters for JNDI initial context
          Hashtable env = new Hashtable();
          env.put(JboContext.INITIAL_CONTEXT_FACTORY,JboContext.JBO_CONTEXT_FACTORY);
          env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
          env.put(PropertyConstants.INTERNAL_CONNECTION_PARAMS,DATASOURCE);
          // Create an initial context, using this hashtable of environment params
          InitialContext ic = new InitialContext(env);
          // Lookup a home interface for the application module
          ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(APPMODNAME);
          // Using the home, create the instance of the appmodule we'll use
          _am = home.create();
          // Register the BC4J factory to handle EJB container-managed transactions
          registerContainerManagedTransactionHandlerFactory();
        catch(Exception ex) {
           ex.printStackTrace();
          throw new CreateException(ex.getMessage());
      public void ejbActivate(){}
      public void ejbPassivate(){}
      public void ejbRemove(){}
      public void setSessionContext(SessionContext ctx){ _ctx = ctx; }
      public void createDepartment(int id, String name, String loc)
      throws AppException {
        try {
          // Connect the AM to the datasource we want to use for the duration
          // of this single method call.
          _am.getTransaction().connectToDataSource(null,DATASOURCE,false);
          // Use the "Departments" view object member of this AM
          ViewObject departments = _am.findViewObject("Departments");
          // Create a new row in this view object.
          Row newDept = departments.createRow();
          // Populate the attributes from the parameter arguments.
          newDept.setAttribute("Deptno", new Number(id));
          newDept.setAttribute("Dname", name);
          newDept.setAttribute("Loc", loc);
          // Add the new row to the view object's default rowset
          departments.insertRow(newDept);
          // Post all changes in the AM, but we don't commit them. The EJB
          // container managed transaction handles the commit.
          _am.getTransaction().postChanges();
        catch(JboException ex) {
          // To be good EJB Container-Managed Transaction "citizens" we have
          // to mark the transaction as needing a rollback if there are problems
          _ctx.setRollbackOnly();
          throw new AppException("Error creating dept "+ id +\n"+ex.getMessage());
        finally {
          try {
            // Disconnect the AM from the datasource we're using
            _am.getTransaction().disconnect();
          catch(Exception ex) { /* Ignore */ }
      private void registerContainerManagedTransactionHandlerFactory() {
        SessionImpl session = (SessionImpl)_am.getSession();
        session.setTransactionHandlerFactory(
          new TransactionHandlerFactory() {
            public TransactionHandler createTransactionHandler() {
              return new ContainerManagedTxnHandlerImpl();
            public JTATransactionHandler createJTATransactionHandler() {
              return new ContainerManagedTxnHandlerImpl();

    Hi Steve, It4s me again;
    About the question I made, I tried with a single assembly-descriptor tag and a single container-transaction tag in the deployment descriptor of the session bean and these were the results.
    java.lang.NullPointerException
         void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
         java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
         void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
    Then I tried with multiple assembly-descriptor tags each with a single container-transaction tag and the results were:
    java.lang.NullPointerException
         void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
         java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
         void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
    Finally I tried with a single assembly-descriptor and multiple container tags and the results were:
    java.lang.NullPointerException
         void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
         java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
         void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
         void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
    How can I make my Stateless Session bean work out?

  • Error when deploying HFM application in 11.1.1

    Hi All,
    I have used the IFRS sample app that comes along with the hFM application and have tried to create the application via EPMA.
    The application is created successfully .. But deployment fails.
    On trial 1 it gave an error in the Jobstatus log : Error in UnregisterInstance(); along with the following in the EPMA log.
    2009-03-23 11:09:31,436 [TP-Processor3] ERROR com.hyperion.awb.web.appmanager.Action - Error code is AWB_WEB_ERR_UTIL_FIND_PROJ_APP
    2009-03-23 11:09:31,546 [TP-Processor3] ERROR com.hyperion.awb.web.appmanager.Action - Error finding project for application HFM:MYIFRS
    com.hyperion.interop.lib.OperationFailedException: Application does not exists by this Id 'HFM:MYIFRS'.
         at com.hyperion.interop.lib.helper.ApplicationHelper.getProjectForApplication(Unknown Source)
         at com.hyperion.interop.lib.CMSClient.getProjectForApplication(Unknown Source)
         at com.hyperion.awb.web.util.HSSRegistrationUtil.getHubProjectForApp(HSSRegistrationUtil.java:162)
         at com.hyperion.awb.web.appmanager.Action.deployValidate(Action.java:622)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
         at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
         at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:171)
         at com.hyperion.bpm.web.common.BaseAction.execute(BaseAction.java:69)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Unknown Source)
    on Trial 2 : it gave me an error that application already exists.
    Can you please help me find the root of this problem
    Thanks,
    AP

    If the application deployment failed for any reason, subsequent deployments often have issues. I've had this error before and my resolution was to clean out the HFM tables. I deleted the application specific tables as well as removed ALL references to the HFM application from the HFM system tables. I also had to restart the EPMA services before attempting another deployment. In summary,
    1. Drop the application specific tables
    2. Delete reference to the application in the HFM system tables
    3. Restart EPMA services
    4. Deploy.

  • BC4J Application Module Pooling for JClient App

    Helo,
    i wonder why all documentation about bc4j application module pooling available is for Web app ? (jsp) . I'm creating swing JClient app and i need some doc about how the application module pooling works in this kind of application.
    anybody know where can i get those docs ?
    Need help and Thank you,
    Ricky H.P.

    Connection pooling can be achieved when a JVM instance manages the pool, in 3tiers the Java App. Server has that task.
    If you are 2tiers that means that you are communicating with the database through JDBC.
    When a user launches your JClient app in fact he lauches his own JVM instance so I don't how he could share a pool with other users.
    In your case you have at most 2 open transactions per user.
    You can achieve that by sharing a same binding context with n forms composed of m panels.
    Let's say:
    1 main form
    connection 1: forms a,b,c
    connection 2: forms x,y,z
    In your main form your open your 2 connections and share them.
    You can achieve that by:
    1) in our main form, initialize 2 binding containers
    Example of one:
    DCBindingContainer bc1 = this.createBindingContainer("package name","model name");
    private DCBindingContainer createBindingContainer(String packageName, String panelModelName)
    StringBuffer sb = new StringBuffer(packageName);
    sb.append(ViewConstants.STRING_DOT);
    sb.append(panelModelName);
    DCBindingContainerDef bcdef = DCBindingContainerDef.findDefObject(sb.toString()); //NOTE THE NAME.
    if (bcdef == null)
    throw new JboException("System error, "+getClass().getName()+".createBindingContainer, DCBindingContainerDef: "+sb.toString()+" not found");
    DCBindingContainer bc = bcdef.createBindingContainer(panelBinding.getBindingContext());
    bc.setName(panelModelName);
    panelBinding.getBindingContext().put(panelModelName, bc);
    return bc;
    2) Before that the jbInit method gets called in the called form, set the binding context:
    form1 = new Form1(...);
    form1.setBindingContainer(bc1) ;
    Example of methods in form 1 and form 2:
    public void setBindingContainer(DCBindingContainer ctr)
    this.panelBinding = (JUPanelBinding)ctr;
    setBindingContext(ctr.getBindingContext());
    public void setBindingContext(BindingContext bindCtx)
    if (panelBinding.getPanel() == null)
    panelBinding = panelBinding.setup(bindCtx, this);
    registerProjectGlobalVariables(bindCtx);
    panelBinding.refreshControl();
    try
    System.out.println("Form setBindingContext calling jbInit");
    jbInit();
    panelBinding.refreshControl();
    // FL added
    isBindingContextSet = true;
    System.out.println("Form isBindingContextSet true");
    catch(Exception ex)
    System.out.println("Form setBindingContext exception caught");
    panelBinding.reportException(ex);
    Regards
    Fred

  • Anyone deploy ADF(UIX,Struts,BC4J) to 9iAS 9.02?

    Has anyone been successful in deploying a ADF 10g app using UIX/Struts/BC4J to Oracle 9iAS 9.02?

    Deploying a UIX application directly from JDeveloper 10g to iAS 9.0.2 isn't supported out of the box. You can deploy directly to iAS 10g (9.0.4), standalone OC4J 10g (9.0.4) instances (one is included with JDeveloper 10g), iAS 9.0.3 Java edition, standalone OC4J 9.0.3, and selected third party servlet engines.
    There are two issues that you would need to workaround to deploy a 10g ADF application to iAS 9.0.2. One issue is that 9.0.2 versions of some of the ADF libraries (BC4J and UIX for example) are on the global application.xml classpath of the iAS 9.0.2 customer home OC4J instance. You would need to manually upgrade your 9.0.2 instance to have all of the ADF 10g libraries. The second issue is that some of the ADF 10g libraries (like BC4J) require JDK 1.4, and iAS 9.0.2 shipped with an earlier version of the JDK. I personally don't know if using iAS 9.0.2 with JDK 1.4 is a supported combination, but I will try to find out for you.
    By the way, you might wonder why we don't have these same problems with with iAS 9.0.3 and 9.0.4 since the ADF 10g libraries are more recent than what shipped with those releases. In OC4J 9.0.3 and 9.0.4 there is a "search-local-classes-first" option in orion-web.xml that allows classes provided as part of a web application to be loaded in preference to what is on the global application.xml classpath. We use this feature to deploy ADF 10g applications (and include the JARs for some of the ADF libraries in the WEB-INF/lib of the application). In addition, there is a tool called the ADF Installer that is part of JDeveloper that will upgrade versions of some of the backward compatible ADF libraries (like BC4J) in the global application.xml.

  • 500 Internal Server Error - JBO-30003: The application pool  error

    I have just migrated the UIX project from the Jdev 9i version 1.0.3 to Jdev10g 1.0.1.2 version successfully, but when I create the new UIX page based on the ADF-UIX biniding , I am getting this error:
    JBO-30003: The application pool (omniwareBC.OmniwareBCModuleLocal) failed to checkout an application module due to the following exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
         at oracle.jbo.JboException.<init>(JboException.java:343)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1772)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
         at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:406)
         at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1336)
         at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1234)
         at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:76)
         at oracle.adf.model.BindingContext.get(BindingContext.java:411)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
         at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)
         at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:59)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)
         at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings(DCBindingContainerDef.java:197)
         at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:273)
         at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:40)
         at oracle.adf.model.BindingContext.get(BindingContext.java:427)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
         at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)
         at oracle.adf.model.binding.DCUtil.initializeBindingContainer(DCUtil.java:505)
         at oracle.cabo.adf.rt.InitModelListener.getBindingContainer(InitModelListener.java:595)
         at oracle.cabo.adf.rt.InitModelListener._initBindingContainer(InitModelListener.java:564)
         at oracle.cabo.adf.rt.InitModelListener._doModelUpdate(InitModelListener.java:98)
         at oracle.cabo.adf.rt.InitModelListener.eventStarted(InitModelListener.java:57)
         at oracle.cabo.servlet.AbstractPageBroker._fireUIXRequestEvent(Unknown Source)
         at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)
         at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)
         at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
         at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
         at oracle.jbo.JboException.<init>(JboException.java:343)
         at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:541)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:1859)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1739)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
         at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:406)
         at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1336)
         at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1234)
         at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:76)
         at oracle.adf.model.BindingContext.get(BindingContext.java:411)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
         at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)
         at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:59)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)
         at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings(DCBindingContainerDef.java:197)
         at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:273)
         at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:40)
         at oracle.adf.model.BindingContext.get(BindingContext.java:427)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
         at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)
         at oracle.adf.model.binding.DCUtil.initializeBindingContainer(DCUtil.java:505)
         at oracle.cabo.adf.rt.InitModelListener.getBindingContainer(InitModelListener.java:595)
         at oracle.cabo.adf.rt.InitModelListener._initBindingContainer(InitModelListener.java:564)
         at oracle.cabo.adf.rt.InitModelListener._doModelUpdate(InitModelListener.java:98)
         at oracle.cabo.adf.rt.InitModelListener.eventStarted(InitModelListener.java:57)
         at oracle.cabo.servlet.AbstractPageBroker._fireUIXRequestEvent(Unknown Source)
         at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)
         at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)
         at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
         at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    java.lang.NullPointerException
         at java.util.Hashtable.put(Hashtable.java:393)
         at servlet.OmniwareConnectionStrategy.connect(OmniwareConnectionStrategy.java:29)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.connect(ApplicationPoolImpl.java:3625)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:2241)
         at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:532)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:1859)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1739)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
         at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:406)
         at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1336)
         at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1234)
         at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:76)
         at oracle.adf.model.BindingContext.get(BindingContext.java:411)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
         at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)
         at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:59)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)
         at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings(DCBindingContainerDef.java:197)
         at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:273)
         at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:40)
         at oracle.adf.model.BindingContext.get(BindingContext.java:427)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
         at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)
         at oracle.adf.model.binding.DCUtil.initializeBindingContainer(DCUtil.java:505)
         at oracle.cabo.adf.rt.InitModelListener.getBindingContainer(InitModelListener.java:595)
         at oracle.cabo.adf.rt.InitModelListener._initBindingContainer(InitModelListener.java:564)
         at oracle.cabo.adf.rt.InitModelListener._doModelUpdate(InitModelListener.java:98)
         at oracle.cabo.adf.rt.InitModelListener.eventStarted(InitModelListener.java:57)
         at oracle.cabo.servlet.AbstractPageBroker._fireUIXRequestEvent(Unknown Source)
         at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)
         at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)
         at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
         at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    I don't know what is causing this issue, it happend to all BC4J component based on the ADF UIX.
    Any help to resolve this issue will be very appreciated.
    Regards
    MTAHIR

    Hi,
    the fact that old ones work and new ones don't doesn't make it easy! It's normally the other way round in my experience....
    A couple of things to try is to test the application module using the Tester. Right click on the application module and click Test. If you can access your data ok then you can move on to the looking at other layers.
    Something else to check is the included technologies in your ViewController project. Create a brand new project based on a Web Application Default template and compare the Technology Scope and Included Libraries of yours and the new ViewController project.
    regards,
    Brenden

  • 10g UIX / Struts / BC4J

    We are searching for best practices for developping secure web applications using uix / struts / bc4j that demonstrates different login scenario and connection pooling with the database. Did somebody find something in documentation ? or a great book that expose this problematic ?

    Hi, I am also looking for a document or procedure like that.
    Did you get any help, or found any way to do that ?
    Can you share with me ?
    I will appreciate if you could have some time to share the ideas ?

  • Oracle.jbo.JboException: JBO-34010: The "adf/tabs/view/DataBindings.cpx" descriptor appears in the application classpath more than once:

    Hello
    We are using JDeveloper 11.1.1.6
    We have three 3 separate viewcontroller projects and one Master projects which i supposed to integrate all these projects into one.
    Issue:
    After putting all three together into the Master project, the app fails to deploy due to this error:
    oracle.jbo.JboException: JBO-34010: The "adf/tabs/view/DataBindings.cpx" descriptor appears in the application classpath more than once:
    We did some digging and found out that it is because of the fact that "DataBindings.cpx" in all three projects falls withing the default package. How do we rectify this issue. We cannot even Refector this file because that option is not available for this file. We have a demo soon, What can we do?
    Thanks...

    Hi,
    this error typically comes from name clashes. Apparently you created ADF libraries (or projects) that contain a DataBindings.cpx file. The DataBindings.cpx file seems to be located in the same folder structure and thus could not be merged but are found to be added twice. When you create new view controller projects then best practice is to ensure the root package name is unique to avoid such issues.
    Frank

  • Have the BC4J application with BPEL sample ?

    Hi all:
    have anybody know or have the example that about how to using BPEL as a application integrator(EAI) in some BC4J applications ?
    In our project have some BC4J/Struts application, we prepare adopt BPEL as these application integrator, so we need example or guideline about how to approach it. I don't sure BPEL as a EAI solution with BC4J application whether is feasible? and how to approach it.

    We have developed a couple of examples in the last 7 weeks around integrating ADF and BPEL.
    The first one shows how to implement a BPEL process and then us the WSDL interface of the BPEL process in ADF/Struts to create a control and initiate it (also showcasing the data binding capabilities of ADF).
    Is that the type of uses cases you are looking at implementing?
    Edwin

  • How do I debug pl/sql procedures from a bc4j application

    Hi,
    I would like to use jdevelopers pl/sql debugging capabilities to debug some code that is executed by triggers in the database, when inserting records through my bc4j client application.
    I already found the remote debugging feature of jdeveloper, but that requires setting up a separate debugger listener, and it also requires me to put the following statement in the session:
    DBMS_DEBUG_JDWP.CONNECT_TCP ('hostname_or_ip', port_number)
    Where and how can I put this line of pl/sql code to make it execute each time I launch the bc4j application?
    Or is it possible to use one debugger process (the one that's also using the java breakpoints) to debug both pl/sql and java code?
    Greetings,
    Ivo

    I have the same problem.
    I have a PL/SQL function that returns a number. This function receives 2 parameters. I use StoredProcedureCall plus ValueReadQuery.
    Session aSession = SessionManager.getManager().getDefaultSession();
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("CIO_UTILS.COUNT_USER_ROLES_IN_MODULE");
    call.addNamedArgument("p_persid");
    call.addNamedArgument("p_module");
    call.addUnamedOutputArgument("rolesnum", Integer.class);
    ValueReadQuery query = new ValueReadQuery();
    //query.bindAllParameters();
    query.setCall(call);
    query.addArgument("p_persid");
    query.addArgument("p_module");
    Vector parameters = new Vector();
    parameters.addElement(persid);
    parameters.addElement(theModule);
    Integer rolesnum = (Integer) aSession.executeQuery(query,parameters);
    aSession.release();
    if(rolesnum.intValue()<=0)return false; else return true;
    However, I receive the following error:
    Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-06550: line 1, column 96:
    PLS-00312: a positional parameter association may not follow a named association
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    Error Code: 6550
    Call:BEGIN CIO_UTILS.COUNT_USER_ROLES_IN_MODULE(p_persid=>'SANCRA2791', p_module=>'PSL_MONITORING', ?); END;
         bind => [=> rolesnum]
    If comment the line
    "call.addUnamedOutputArgument("rolesnum", Integer.class);"
    Toplink is trating it as a procedure, and I also receive an error from PL/SQL.
    There should have to be a way of make it to receive the resoult somehow, but I do not know what.
    Thanks in advance.

Maybe you are looking for

  • A Problem with LR 4.1 update

    With Lightroom 4.0 (64 bits), everything goes normal. When I clicked "Edit in Adobe Photoshop CS5.." the edited raw file was exported to CS5 photoshop in "tif" format. After updating Lightroom 4.1 today, LR no longer generates "DSC-1234-Edit.tif" and

  • Check a number range with date range.

    i have table test which is having column Start Range End Range Start Date End date how can i check start range and end range does not exists b/w existing record also with date range of this record. end date can be blank also.

  • Extending the Network with AX

    I need some help. I have 3 AX units and 1 NetGear wireless ADSL modem/router. Currenlty NG router is OK but range is poor as house is large. I wanted to use AX units to extend the network (in addition to using AirTunes) but guys at Apple Shop in Lond

  • Labview: TCp Open Issue!

    Hi Everyone,     I'm working on a MODBUS routine for communication with one of our control modules. I'm using NI's Modbus library to initiate a connection, check the registers, etc then report the results back to a teststand seq for fruther analysis.

  • Function keys

    just getting started on motion, first time i worked with it the function keys worked fine. next time i opened it, the only one that worked was F1. most of the other ones just beep and didn't do what they're supposed to do. i have the commands set for