JBO Exceptions

Hi there,
I'm fairly new to JDeveloper, and the Oracle Business Components, but after much playing around I've got them working nicely. We're using them inside a servlet, and we don't want the user names and passwords hardcoded into the app. Not a problem, we can just substitute variables into the Transaction.connect(String URL) method call. This all works great, unless you specify an incorrect username and password, in which case an unadvertised oracle.jbo.DMLException is thrown.
My concern is that I was under the impression that Exceptions must be declared as 'thrown' by the method signature in order for the class to even compile. Given that this clearly isn't the case, what other undocumented Exceptions could be thrown by the Business Components that we don't find until we go live? Is there somewhere I can find out? And why did Oracle decide not to include these in the 'throws' clause of the method signature?
Regards,
Steve.
null

More Info from our Developers...
Java supports two different kinds of exceptions:
static exceptions and runtime exceptions.
Static exceptions must be declared on the method declaration. As you
know, code calling a method with static exceptions must either catch
the exceptions or declare itself to throw the same or superclass exceptions.
With runtime exceptions, they don't have to be declared on the method.
Most 'famous' of these runtime exceptions are
NullPointerException, ArrayIndexOutOfBoundsException,
ClassCastException.
Static exceptions, as the phrase suggests, are good for methods whose
call chains are relatively static. If A calls B, and B calls C, and
if this chain of calls does not change in arbitrary manner, exceptions thrown by C can be statically declared, forcing B to
either handle or pass the exceptions.
As you mentioned, what's nice about static exceptions is that it
allows compile-time checking.
Static exceptions are not necessarily appropriate all the time. If
static exceptions were always appropriate, Java would not have
bothered with runtime exceptions. If you think about
NullPointerException, you will see why it wouldn't make sense to make
it a static exception. NullPointerException can be thrown by any
piece of Java code. If NullPointerException were a static exception,
all methods would have to either (1) have catch block almost
everywhere to handle NullPointerException, or (2) declare to throw NullPointerException.
The reason why NullPointerException wouldn't make a good static
exception is because it is ubiquitous. It can be thrown at unexpected places.
Another reason for not making an exception static would be if code
can easily be inserted in an overriding method (of a subclass) and
cause that exception to be thrown. Let's take an example.
Suppose
ArrayOutOfIndexException were a static exception.
Suppose I have the following method in the base class:
public class BaseClass
void myMethod()
System.out.println("hello");
Now, suppose I build a subclass on BaseClass and override
myMethod,
as in:
public class SubClass extends BaseClass
void myMethod()
Further, I have some code in the body of SubClass.myMethod that deals
with an array object, say
void myMethod()
int iArr = new int[2];
// This line will throw ArrayIndexOutOfBoundsException
iArr[3] = 0;
If ArrayIndexOutOfBoundsException were static, all of a sudden,
SubClass.myMethod would have to declare that it throws ArrayIndexOutOfBoundsException. However, since the base
implementation myMethod did not mention any exception on its
declaration, we can't put "throws
ArrayIndexOutOfBoundsException" in
the subclass implementation (Java doesn't allow this). The only
thing SubClass.myMethod can do is either (1) catch ArrayIndexOutOfBoundsException and eat it or (2) wrap it in
a runtime
exception and throw the runtime exception.
=====
The main reason why we (BC4J) decided to use runtime exceptions
and not static exceptions is for the two reasons that I described
above: ubiquitous-ness of some exceptions and
overriddability of methods.
One of the big benefits of BC4J is tier-independent programming where
the same piece of code can run in local mode or 3 tier (networked)
mode. When running in 3 tier, any method can make a trip to middle
tier server. This means (among other things) network failure or
server failure can occur practically anywhere. If these exceptions
were static, most BC4J methods would have to declare them on their methods.
Also, BC4J has 'deferred' mode where data changes can be deferred
and batched up on the client before they are sent to middle tier.
Thus, method calls like setAttribute() can be batched and later sent
to middle tier when something like createViewObject() is called. If
BC4J exceptions were static, all possible exceptions that can be
thrown by setAttribute, e.g., ValidationException, can be thrown by
createViewObject because the setAttribute call was deferred. This
will not only confuse the user (why should caller of createViewObject
worry about validation failure?), but it will cause ubiquitous and
often unnecessary declaring and handling of exceptions.
Let's talk about the overriddability issue. One of BC4J's big
benefits is customizability. The user can add their custom code and
subclass and override methods at practically anywhere in the system.
This makes management of exceptions quite cumbersome if they were
static. For example, at first it may seem obvious that getAttribute() should never throw ValidationException, since
it is unlikely getAttribute will change data.
However, it is quite reasonable for getAttribute() to call
setAttribute() for other calculated-but-cached-transiently data. For
this situation, this overridden getAttribute now needs to throw
ValidationException.
This kind of arbitrary call chaining and customization means that we
end up making most methods throw the most base class BC4J exception,
namely JboException. To have all our methods declared to throw
JboException would be meaningless, in much the same way as it would
be meaningless for methods to be declared with 'throws Exception'.
=====
The official and best way to find out which exceptions that a method
is known to throw would be the method's Java-doc. It's true that
the list at the moment may not be complete at the moment, but Java-doc
is the best place to start.
Also, when you get an exception, take a look at the Java-doc for the
exception class itself to figure out why it's thrown.
I Hope this helps.
John- JDeveloper Team
null

Similar Messages

  • JBO Exception while running OAF page from Jdev

    Hi All,
    I am using jdev 10.1.3 on R12 instance.
    I am trying to customize a standard OAF page.
    For that I downloaded all the related directories from the server and placed it in the corresponding folders of jdev.
    When I rebuild the page it is rebuilding successfully, but when I run the page it is showing some jbo exception.
    The exception details are attached in word file.
    If anyone faced such issues before please share your thoughts.
    Regards
    Jyothi

    Please paste the error stack and while running the page from Jdev make sure that you have updated DBC file and check the runtime connections in project properties. check the database connection as well.
    Thanks
    Raghav

  • How to Hide JBO Exceptions in JSF Pages in ADF 10g

    Hi All,
    How to hide the JBO Exceptions in ADF 10g, for example JBO-27122: SQL error during statement preparation. I have been used the same customizing error handler which was specified in bcadfdevguide. But the method reportexception which will call disableappendcodes is not doing anything in my case.
    I want to show some decent errors instead of JBO errors to the user, appreciate if you help me on this.
    thank you.

    Hi Jobinesh,
    Thanks for the reply, actually i am looking to show the user our own customized error instead of JBO errors, i don't know whether the method skipexception will skip it or i can override it to show customized exceptions. and registering the customerrorhandler in databindings is different from registering the customphaselistener class in faces-config.xml which was usually done in 10g.
    But in my case, even though i followed everything what was specified in dev guide, i am not getting the result. Hence this post in forums :)
    Thanks.

  • Throw JBO exception from doDML method-urgent HELP

    Hi,
    I am catching an exception on deleting a parent record without deleting a child record(FK constraint) in doDML delete operation method,when i am throwing a JBOexception with a custom message with in the catch block it is not refelecting in the front end,how can i display the FK contraint as a custom message in the front end?
    however i was able to throw a jbo exception in TP2 with in the doDml method,which was displaying to the front end.
    im using ADf TP3 11g
    -regards

    Hi,
    a similar question was posted last week. I replied saying that TP3 is supposed to work as TP2. If this isn't the case, please wait for TP4 to verify if the problem still exist and if, post another message with a reproducible testcase. TP4 will be out soon
    Frank

  • Throwing jbo exception from AppModule class

    If a JBO exception does not appear on the JSF page when thrown from the AppModule class, what are some things that should be checked?

    Jaime,
    I'm not really sure what your question is, but backing beans would generally be considered part of the controller layer, in my opinion.
    JBO exceptions are typically raised from the Model layer.
    What exactly are you trying to do here? Can you share the use case?
    John

  • Record the jbo exception in database

    Appreciate if you could provide inputs
    User submit a web service request.Control goes to ADF bc model layer from service and performs validation in model layer.If validation is failed then record that error message and parameters (used in error message) in database.After recording the error message and parameters throw jboexception to service from model layer.
    We have tried to insert the error message and parameters in the database (via View object) when validation is failed in model layer and then thrown Jboexception.But record is not getting inserted in database when jboexception is thrown from model layer.
    Will jboexception thrown from model layer to service layer rollback whole transaction?
    Jdev version used 11.1.1.5

    The ADFbc model layer don't rollback a transaction by itself. This is left for the user or application to do. So either your code calls a rollback of the user calls rollback at some stage (e.g. by clicking a button which is calling rollback). If rollback is called, all changes which are part of the transaction are rolled back. If the insert of the exception into the db is part of the transaction, it's rolled back and you don't get the record in the DB.
    Now to you use case. Have you thought about what happens if the jbo exception tells you that the DB can't be connected or ins't reachable? How do you insert the exception then?
    In general it's not a good idea to use the same application to insert the exception into the db (one reason is the above problem). If you realy like to insert exceptions into the DB, you should think of using a message queue where you send messages to (with the needed information). The is then read by an other application and inserts the exception into the DB. If the DB can't be reached, the message remains in the queue until it finaly can inserted into the DB. On other nice thing is, that the queue keeps the order of the exceptions.
    Timo

  • Is JBO exception working when using JPA ?

    I am using Jdeveloper 11g R (11.1.2.3) & weblogic 10 G
    In my pages I use JSF & Facelet
    Is JBO exception working when using JPA as data provider?
    I mean can I throw JBO exception from my back end in some business cases?
    thanks
    Mohsen

    You haven't added a resource reference for your web application that gives the application a local name for the global resource "UserDatabase".

  • Help: Jbo Exception non blocking when using table cell renderer?

    Hi,
    JClient 9.5.2.
    When using Table Cell Renderer on an table cell attribute that is defined mandatory and activating the insert button, the (oracle.jbo.AttrValException) JBO-27014 exception is caught but it is not blocking and a new row is still inserted.
    The JClient component demo, table attribute list, has the same behaviour.
    You can add multiple rows even if not all required attributes have been documented.
    Can a Swing specialist help me on this one?
    Example of Table Cell Renderer:
    public class TableBasicStatusRenderer extends DefaultTableCellRenderer
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
    int row, int column)
    JLabel lb = new JLabel((String) StaticData.getStatusName(value)); // retrieves label from Map
    return lb;
    Regards
    Frederic

    Hi,
    I found something interesting, it could be a WORKAROUND!
    I noticed that in another detail panel with table layout the JBO exception was blocking and adding another row before completing the row was NOT possible.
    In the create method of the entity object of the displayed View Object I iterate over the detail row iterator to retrieve a maximum value.
    By the end of the method the pointer is positionned after the last row.
    So I added to the detail panel that doesn't block following code:
    In create method of detail Entity Object Impl (only one entity object involved for this View)
    // Retrieve master EntityObjectImpl from association:
    PostalTariffImpl postalTariffImpl = getPostalTariffAssoc();
    // Retrieve detail default row iterator
    RowIterator ri = postalTariffImpl.getPostalDetailGroupAssoc();
    // Position pointer after last row
    ri.last();
    ri.next();
    Question: Why does this solve the problem?
    Regards
    Frederic
    PS Les mysteres de l'informatique!

  • Raise customized JBO exception from AM to Client

    All
    I want to raise exception in am, vo or eo to client side when some kind of business rules hit. How can i raise the JBO exception with info to identify the failed root reason?
    If execute the binding operation I can call the getErrors() to check if the last execute succeed or not. How can i get this error message when call the operation via web service which exported from am,
    follow are the code part in DemoAMServiceImpl for example, the DemoAMServiceImpl is generated by default when export DemoAM to support web service:
    public EventsVOSDO updateEventsVO1(EventsVOSDO eventsVO1) throws ServiceException {
    return (EventsVOSDO)update(eventsVO1, "EventsVO1");
    when call this method to update event via web service to update event in AM, logic in eventEO checks the event property and raise custom event to client to indicate failure.
    any one have good ideals on this requirement?

    Try something like this in your method:
    throw new JboException("Don't do that.", "101", null );

  • JBO Exception 29000 - Internal problem - attr indices mismatch

    Hello guys!
    Can somebody help me with this problem?
    Thanks in advance,
    Murilo Woigt
    JBO-30003: The application pool
    (myapplication.precificacao.services.PrecificacaoServices9iAS)
    failed to checkout an application module due to the following exception:
    JBO-30003: The application pool
    (myapplication.precificacao.services.PrecificacaoServices9iAS)
    failed to checkout an application module due to the following exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught:
    oracle.jbo.JboException, msg=Internal problem
    (EntityReference.createViewAttribute): attr indices mismatch for
    IndicePercentualAdValorem index=47, attrIndex=3at
    oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1606)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2335)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:427)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:393)
    at
    oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1333)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1292)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1264)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:100)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:82)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.getPrecificacao(EmitirPropostaComercialAction.java:773)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.montaTela(EmitirPropostaComercialAction.java:185)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at
    org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at
    myapplication.comum.presentation.action.BkPriceAction.execute(BkPriceAction.java:136)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at
    com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:566)
    at
    com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at
    com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:166)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:72)
    at
    EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:804)
    at java.lang.Thread.run(Thread.java:536)
    ## Detail 0 ##
    oracle.jbo.JboException: Internal problem
    (EntityReference.createViewAttribute): attr indices mismatch for
    IndicePercentualAdValorem index=47, attrIndex=3
    at
    oracle.jbo.server.EntityReference.createViewAttribute(EntityReference.java:196)
    at oracle.jbo.server.ViewDefImpl.doAddEntityAttribute(ViewDefImpl.java:2492)
    at oracle.jbo.server.ViewDefImpl.loadAttributes(ViewDefImpl.java:2364)
    at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:2169)
    at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:1767)
    at
    oracle.jbo.server.MetaObjectManager.loadFromXML(MetaObjectManager.java:509)
    at
    oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject(DefinitionManager.java:453)
    at
    oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:312)
    at
    oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:268)
    at
    oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:649)
    at oracle.jbo.server.ViewDefImpl.findDefObject(ViewDefImpl.java:369)
    at
    oracle.jbo.server.ApplicationModuleImpl.createViewObject(ApplicationModuleImpl.java:2681)
    at
    oracle.jbo.server.ApplicationModuleDefImpl.loadComponents(ApplicationModuleDefImpl.java:357)
    at
    oracle.jbo.server.ApplicationModuleImpl.createRootApplicationModule(ApplicationModuleImpl.java:337)
    at
    oracle.jbo.server.ApplicationModuleHomeImpl.create(ApplicationModuleHomeImpl.java:91)
    at
    oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:135)
    at
    oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:76)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:1980)
    at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:358)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1539)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2335)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:427)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:393)
    at
    oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1333)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1292)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1264)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:100)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:82)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.getPrecificacao(EmitirPropostaComercialAction.java:773)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.montaTela(EmitirPropostaComercialAction.java:185)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at
    org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at
    myapplication.comum.presentation.action.BkPriceAction.execute(BkPriceAction.java:136)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at
    com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:566)
    at
    com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at
    com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:166)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:72)
    at
    EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:804)
    at java.lang.Thread.run(Thread.java:536)
    Excecao Aninhada:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught:
    oracle.jbo.JboException, msg=Internal problem
    (EntityReference.createViewAttribute): attr indices mismatch for
    IndicePercentualAdValorem index=47, attrIndex=3
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1606)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2335)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:427)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:393)
    at
    oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1333)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1292)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1264)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:100)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:82)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.getPrecificacao(EmitirPropostaComercialAction.java:773)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.montaTela(EmitirPropostaComercialAction.java:185)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at
    org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at
    myapplication.comum.presentation.action.BkPriceAction.execute(BkPriceAction.java:136)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at
    com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:566)
    at
    com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at
    com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:166)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:72)
    at
    EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:804)
    at java.lang.Thread.run(Thread.java:536)
    ## Detail 0 ##
    oracle.jbo.JboException: Internal problem
    (EntityReference.createViewAttribute): attr indices mismatch for
    IndicePercentualAdValorem index=47, attrIndex=3
    at
    oracle.jbo.server.EntityReference.createViewAttribute(EntityReference.java:196)
    at oracle.jbo.server.ViewDefImpl.doAddEntityAttribute(ViewDefImpl.java:2492)
    at oracle.jbo.server.ViewDefImpl.loadAttributes(ViewDefImpl.java:2364)
    at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:2169)
    at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:1767)
    at
    oracle.jbo.server.MetaObjectManager.loadFromXML(MetaObjectManager.java:509)
    at
    oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject(DefinitionManager.java:453)
    at
    oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:312)
    at
    oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:268)
    at
    oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:649)
    at oracle.jbo.server.ViewDefImpl.findDefObject(ViewDefImpl.java:369)
    at
    oracle.jbo.server.ApplicationModuleImpl.createViewObject(ApplicationModuleImpl.java:2681)
    at
    oracle.jbo.server.ApplicationModuleDefImpl.loadComponents(ApplicationModuleDefImpl.java:357)
    at
    oracle.jbo.server.ApplicationModuleImpl.createRootApplicationModule(ApplicationModuleImpl.java:337)
    at
    oracle.jbo.server.ApplicationModuleHomeImpl.create(ApplicationModuleHomeImpl.java:91)
    at
    oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:135)
    at
    oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:76)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:1980)
    at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:358)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1539)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2335)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:427)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:393)
    at
    oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1333)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1292)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1264)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:100)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:82)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.getPrecificacao(EmitirPropostaComercialAction.java:773)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.montaTela(EmitirPropostaComercialAction.java:185)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at
    org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at
    myapplication.comum.presentation.action.BkPriceAction.execute(BkPriceAction.java:136)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at
    com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:566)
    at
    com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at
    com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:166)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:72)
    at
    EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:804)
    at java.lang.Thread.run(Thread.java:536)
    Excecao Aninhada:
    oracle.jbo.JboException: Internal problem
    (EntityReference.createViewAttribute): attr indices mismatch for
    IndicePercentualAdValorem index=47, attrIndex=3
    at
    oracle.jbo.server.EntityReference.createViewAttribute(EntityReference.java:196)
    at oracle.jbo.server.ViewDefImpl.doAddEntityAttribute(ViewDefImpl.java:2492)
    at oracle.jbo.server.ViewDefImpl.loadAttributes(ViewDefImpl.java:2364)
    at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:2169)
    at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:1767)
    at
    oracle.jbo.server.MetaObjectManager.loadFromXML(MetaObjectManager.java:509)
    at
    oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject(DefinitionManager.java:453)
    at
    oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:312)
    at
    oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:268)
    at
    oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:649)
    at oracle.jbo.server.ViewDefImpl.findDefObject(ViewDefImpl.java:369)
    at
    oracle.jbo.server.ApplicationModuleImpl.createViewObject(ApplicationModuleImpl.java:2681)
    at
    oracle.jbo.server.ApplicationModuleDefImpl.loadComponents(ApplicationModuleDefImpl.java:357)
    at
    oracle.jbo.server.ApplicationModuleImpl.createRootApplicationModule(ApplicationModuleImpl.java:337)
    at
    oracle.jbo.server.ApplicationModuleHomeImpl.create(ApplicationModuleHomeImpl.java:91)
    at
    oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:135)
    at
    oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:76)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:1980)
    at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:358)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1539)
    at
    oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2335)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:427)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
    at
    oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:393)
    at
    oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1333)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1292)
    at
    oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1264)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:100)
    at
    myapplication.comum.services.ServiceLocator.getService(ServiceLocator.java:82)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.getPrecificacao(EmitirPropostaComercialAction.java:773)
    at
    myapplication.precificacao.propostacomercial.presentation.action.EmitirPropostaComercialAction.montaTela(EmitirPropostaComercialAction.java:185)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at
    org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at
    myapplication.comum.presentation.action.BkPriceAction.execute(BkPriceAction.java:136)
    at
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at
    com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:566)
    at
    com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
    at
    com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:166)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:72)
    at
    EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:804)
    at java.lang.Thread.run(Thread.java:536)

    Nobody?

  • Changing jbo exceptions displayed in validation errors

    I have an ADF web application and when a user enters a non-unique field the JBO-26048 and ORA-00001 exceptions are thrown and displayed... how can i change the error message that is displayed to something the users would understand?

    Hello Julie,
    To change the default errors you have to do the following.
    Create a new class that extends from java.util.ListResourceBundle
    Create a private member looking like this one:
    private static final Object[][] sMessageStrings = new String[][] {
    {CSMessageBundle.EXC_NO_ENTITY_OWNER, "Wrong entry"},
    {26048, "My own error message"}
    Then override the getContents() method and let it return the sMessageStrings.
    Now the only thing you have to do is tell your project to use this error messages.
    To do this right click on you project and choose properties.
    Then choose Common -> Business Components -> Options.
    Then choose add custom message bundle and select your class.
    And now your done.
    My i remark that you can use either a static value (CSMessageBundle.EXC_NO_ENTITY_OWNER) or the number of the error to specify the error message you want to change.
    Regards
    Johan

  • JBO - Exception

    Hello,
    I created an application using BC4J and when I want to deploy it, I always get the message
    JBO-33001: Cannot find the configuration file XXXXXXXx\common\bc4j.xcfg in the classpath How can I solve thios. Please it's urgent and very important

    I have found.
    My problem was that I have not the same version of BC4J in IAS and in JDeveloper.
    Someone has helped me in a tar on metalink.oralce.com
    Thank you
    Ps : now the search works for me too

  • Dynamically Set Action After Jbo Exception

    I want to determine a pages Action by wether or not an error has been thrown.
    Example:
    For page 1's Action I have setAction()
    Heres the method:
    public String setAction() {
    // Add event code here...
    FacesContext context = FacesContext.getCurrentInstance();
    if (context.getCurrentInstance().getMessages().hasNext() == true){
    return "";
    else
    return "Page2";
    When I know for sure that theres an error, it still goes to page 2. Is this code wrong?
    Thanks,
    Tim

    Nevermind, its...
    context.getCurrentInstance().getMessages() != null
    but this always is true, even when I don't have the exception. Any ideas?????

  • How to detect JBO Exception from within Apps Module Custom Method ?

    Hi all,
    I have a custom method in apps module (AM) to set "Status" attribute to "A' in an antity, this is for approval.
    Also there is a rule that the transaction cannot be approved if it is already cancelled by another user (in multi user environment).
    The problem is :
    If the AM custom method fail (because it throws JBOException in the entity setter method), How can I know that it fails ?
    and report it back to the backing beans that call the custom method ?
    Thank you for your help,
    xtanto
    Below is the code :
    1. create a custom method in AM to do : setStatus ("A") ;
    public void approve(){
    ViewObject bphVo = findViewObject("BpHView1");
    BpHViewRowImpl vBphViewRow = (BpHViewRowImpl)bphVo.getCurrentRow();
    vBphViewRow.setStatus("A");
    2. Do a validation inside setStatus method of the entity :
    public void setStatus(String value) {
    if (! getCancel() == true )
    setAttributeInternal(STATUS, value);
    else
    throw new JboException("Error ! transaction already cancelled");
    3. On backing beans :
    public String approveButton_action() {
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding =
    bindings.getOperationBinding("approve");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    System.out.println("There is JBO Error !!");
    return null;
    else{
    commitButton_action();
    return "back";
    }

    Try this code:
    approveButtonAction()  {
    String navigationString = null;
    try {
    Object result = operationBinding.execute();
    naviagionString = success;
    catch (JboException e) {
       navigationString = null;
       (DCBindingContainer)bc.cacheException(e);
    } finally {
    if(navigationString != null)
      return commitButtonAction();
    else
      return navigationString;
    }

  • How to call common error pages for all the exceptions

    Hi All
    I have created the common ErrorPage in my application. In case of any error whether SQL,IO or JBO I want that error page be displayed. In the page definition I have given the errorpage name and also defined the error page as IS_ERROR_PAGE = true.But it is throwing Jbo exception at the top of the page itself.No redirection to the error page is done.
    Though I have gone through various threads in this forum but still its not clear how to get the things working.
    Can anyone please help me out in this regard?

    Hi,
    I assume you mean that you set the error page in the web.xml file. Note that exceptions are handled first by the JSF framework. Please have a look at the developer guide
    http://download-uk.oracle.com/docs/html/B25947_01/toc.htm
    http://download-uk.oracle.com/docs/html/B25947_01/web_val008.htm#CIHHBEEJ
    Frank

Maybe you are looking for

  • Anyone know how I can print a two page weekly view from ical

    Hi there. I'm trying to print (from my ical) a weekly view into a Franklin planner page. i would like to print a week into two (side by side) 5x8 pages. Anyone have any idea? Can the iplanner app do this? Thanks!

  • Does anyone know how to close open Purchase orders

    Here is the scenario, GR has been generated, Invoice has been paid , and Po is still sitting open in the system. I would like to know what steps and if you wouldn'y mind what transactions are needed to close these PO's. Pls bear in mind I'm new to SA

  • Determine posting to an asset between two dates

    Hello all, How do you calculate the postings made to an asset between two dates?  I looked at the logical database ADA, but got lost in the source code. For example, if these posting were made to an asset between start & end date, the total I would w

  • Naming Information Cannot be Allocated VIA MSTSC

    Hi, Suddenly we face some issue with our Windows 2003R2 SP2 (32 bit ) Server it has physical RAM:2GB. When we tried to Connect the server via "mstsc" getting a error message after Credential window ! Error: Naming information can not be located for f

  • "Error occurred in the data selection" on init delta load ODS- InfoCube

    Hi, gurus and experts! I'm trying to do Init delta load from 0FIAR_O03 ODS into 0FIAR_C03 InfoCube in PRD env. by InfoPackage "Initialize with delta transfer (with data transfer)". Immediately after the load was started I got error "Error occurred in