Exposing Application Module as Webservice - Query

Hi,
     I have a few queries regarding ADF Business Components. It will be great if you guys answer these queries:
1. Application Module can be exposed as web service. In this scenario, does ADF support clustering?
2. If AM is exposed as WS, what is the implication in terms of performance and availability?
3. I could not find information related to clustering, performance and availability of WS in ADF developer guide. So, please provide any similar implementations, support statements, articles, blogs, etc for the above two queries.
Thanks & Regards,
Saravanan.

Saravanan, there is a powerful, new web services feature in ADF BC in the 11g release called "Service Interface". If you use the Technology Preview 4 release from OTN, you can follow
along with this Oracle Magazine article to learn more about the
feature: [Services
with a Smile|http://www.oracle.com/technology/oramag/oracle/08-jan/o18frame.html]
Unfortunately, since the feature depends on some SOA infrastructure
that was not ready in time on WebLogic for the first production
JDeveloper 11g release (due out on OTN very, very soon), the Service
Interface feature had to be removed along with the Business Events feature
from the initial JDev/ADF 11g production release. It is planned to be
re-introduced in the JDev/ADF release that will ship with the full
Oracle Fusion Middleware 11g production release in the first half of
calendar 2009.
So, in the initial JDeveloper 11g production release the only kind of
web services that can use ADFBC components would be ones you
hand-create. As stateless components, they should work fine in a
clustered environment (both now and when the "Service Interface"
feature goes production along with the complete FMW 11g suite.

Similar Messages

  • Exception while exposing Application Module Methods as Web Service

    Hello Everyone,
    I am working on Jdeveloper 11.1.1.3.0 version and tried to expose one method of application module as web service. To do this, i used "Service Interface" tab of Application module within Jdeveloper and Jdeveloper had generated all interfaces, stubs, code for the Session bean required for web service. I am now trying to "Test Web Service" from the implementation class generated then i am getting this error in Weblogic deployment. Any help/pointers would be highly appreciated.
    I used another installation of Jdeveloper same version at my collegues desktop but getting the same error. Not sure, if this version of Jdeveloper is having issue in exposing application module as web service. I think that database related exception can be ignored as no database call is being made by the application.
    [Running application SalaryControlService on Server Instance IntegratedWebLogicServer...]
    [10:41:26 AM] ---- Deployment started. ----
    [10:41:26 AM] Target platform is (Weblogic 10.3).
    [10:41:27 AM] Retrieving existing application information
    [10:41:27 AM] Running dependency analysis...
    [10:41:27 AM] Deploying 2 profiles...
    [10:41:27 AM] Wrote EJB Module to C:\Documents and Settings\sacggupt\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SalaryControlService\ModelEJB.jar
    [10:41:28 AM] Wrote Enterprise Application Module to C:\Documents and Settings\sacggupt\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SalaryControlService
    [10:41:29 AM] java.lang.NullPointerException
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.getClassNamesFromEjb(AssemblerProcessor.java:180)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.processEjb(AssemblerProcessor.java:149)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.processEjb(JaxwsEjbAssembler.java:182)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.ejbAssemble(JaxwsEjbAssembler.java:152)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.jaxwsEjbAssemble(Processor.java:630)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:327)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:230)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.Main.mainNoSystemExit(Main.java:84)
    [10:41:29 AM]      at oracle.j2ee.ws.tools.wsa.Main.main(Main.java:49)
    [10:41:29 AM] WARNING: Error while processing ejb-jar.xml for ejb module at "C:\Documents and Settings\sacggupt\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\SalaryControlService\ModelEJB.jar".
    [10:41:29 AM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [10:41:29 AM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [10:41:29 AM] INFO: GenericWSWarAnnotationListener.parseAnnotatedClass Adding Servlet Mapping with URL pattern /HrModuleService for annotated WebService class lt.andrejusb.model.server.serviceinterface.HrModuleServiceImpl
    [10:41:30 AM] WSA process exited with code 0
    [10:41:30 AM] Deploying Application...
    <Jan 3, 2011 10:41:31 AM IST> <Warning> <J2EE> <BEA-160195> <The application version lifecycle event listener oracle.security.jps.wls.listeners.JpsAppVersionLifecycleListener is ignored because the application SalaryControlService is not versioned.>
    <ServerMessages><warningMBeanRegisterError> Failed to register the web service Config MBeans for application: SalaryControlService endpoint: SalaryControlService the error is: oracle.as.jmx.framework.util.MissingConfigurationFileException: The configuration at URI "WEB-INF\oracle-webservices.xml" cannot be loaded.
    [10:41:36 AM] Application Deployed Successfully.
    [10:41:36 AM] The following URL context root(s) were defined and can be used as a starting point to test your application:
    [10:41:36 AM] http://10.176.162.16:7101/SalaryControlService
    [10:41:36 AM] Elapsed time for deployment: 9 seconds
    [10:41:36 AM] ---- Deployment finished. ----
    Run startup time: 9391 ms.
    [Application SalaryControlService deployed to Server Instance IntegratedWebLogicServer]
    Target URL -- http://localhost:7101/SalaryControlService/HrModuleService
    Edited by: LearningToFly on Jan 2, 2011 9:13 PM

    Hello,
    Is this resolved yet? The reason I am asking is that I'm getting the same error as yours. I am trying to run the StoreFront tutorial in JDeveloper 11.1.1.3 and here's what I got:
    [04:21:31 PM] ---- Deployment started. ----
    [04:21:31 PM] Target platform is (Weblogic 10.3).
    [04:21:32 PM] Retrieving existing application information
    [04:21:32 PM] Running dependency analysis...
    [04:21:32 PM] Deploying 4 profiles...
    [04:21:32 PM] Wrote MAR file to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\metadata1.mar
    [04:21:33 PM] Wrote Web Application Module to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\StoreFrontUIWebApp.war
    [04:21:38 PM] Wrote EJB Module to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\StoreFrontServiceEJB.jar
    [04:21:40 PM] Wrote Enterprise Application Module to C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule
    [04:21:41 PM] java.lang.NullPointerException
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.getClassNamesFromEjb(AssemblerProcessor.java:180)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.AssemblerProcessor.processEjb(AssemblerProcessor.java:149)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.processEjb(JaxwsEjbAssembler.java:182)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.jaxws.JaxwsEjbAssembler.ejbAssemble(JaxwsEjbAssembler.java:152)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.jaxwsEjbAssemble(Processor.java:630)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:327)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.cli.Processor.execute(Processor.java:230)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.Main.mainNoSystemExit(Main.java:84)
    [04:21:41 PM]      at oracle.j2ee.ws.tools.wsa.Main.main(Main.java:49)
    [04:21:41 PM] WARNING: Error while processing ejb-jar.xml for ejb module at "C:\Documents and Settings\ylin\Application Data\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\StoreFrontModule\StoreFrontServiceEJB.jar".
    [04:21:41 PM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: Unable to load annotation javax.interceptor.Interceptors for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: Unable to load annotation weblogic.javaee.CallByReference for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: Unable to load annotation javax.interceptor.Interceptors for parsing. The annotation is ignored.
    [04:21:41 PM] INFO: GenericWSWarAnnotationListener.parseAnnotatedClass Adding Servlet Mapping with URL pattern /StoreFron
    Can someone help with this? Thank you in advance!
    Edited by: 834077 on Mar 5, 2011 6:28 AM

  • Deploying Application Module as Web Service

    I tried to deploy a simple application module with a simple view as a Web Service.
    When i open url i can see a page to test the web service.
    But if i try to see the Service description
    http://192.10.10.196:7001/Test-Model-context-root/AppModuleService?WSDL
    i get the following exception:
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
         at java.util.ArrayList.RangeCheck(ArrayList.java:547)
         at java.util.ArrayList.get(ArrayList.java:322)
         at oracle.j2ee.ws.common.addressing.AbstractAddressingInterceptor.addDefaultAddressingPolicyIfNotAlreadyThere(AbstractAddressingInterceptor.java:103)
         at oracle.j2ee.ws.server.WebServiceProcessor.advertiseWSDL(WebServiceProcessor.java:1144)
         at oracle.j2ee.ws.server.provider.ProviderWSDLHandler.addPolicy(ProviderWSDLHandler.java:253)
         at oracle.j2ee.ws.server.provider.ProviderWSDLHandler.handle(ProviderWSDLHandler.java:136)
         at oracle.j2ee.ws.server.provider.ProviderWSDLHandler.presentWSDL(ProviderWSDLHandler.java:102)
         at oracle.j2ee.ws.server.provider.ProviderServlet.presentWsdl(ProviderServlet.java:916)
         at oracle.j2ee.ws.server.provider.ProviderServlet.doGet(ProviderServlet.java:895)
         at oracle.j2ee.ws.server.provider.ProviderServlet.doGet(ProviderServlet.java:803)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Is this a bug? is there a workaround?
    Anybody deploy application modules as webService?
    Is there a documentation of how to use it?

    Hi,
    Are you deploying a master-detail with more than one fk association for example Departments-Employees- EmployeesMngr. If so, please leave all your hierarchies in just one direction and then create your SDOs again. I was obtaining this error because my hierarchies were causing an infinite loop and it wasn´t possible to retrieve all the data.
    check the following tutorial and pause when I show the data structure of the project to have more deatails.
    http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/CreatingSDO-Demo/CreatingSDO.html
    Juan Camilo

  • Application Module's "query-on-commit"  flag

    Hi All,
    Can you please guide how to set Application Module's "query-on-commit" flag as on/off.

    You'll want to create a method in your application module class that will expose your reporting functionality. You can do this by:
    1. Selecting your AppModule.
    2. Opening AppModuleImpl.java
    3. Creating a method to expose the necessary reporting services.
    4. You'll then need to make this method accessible by opening AppModule editor and clicking on "Client Interface". Shuttle your method to the "Selected" side.
    In the method you create in AppModule.java, pass the module (this) into your report class. You can then perform any actions you with such as querying VO's, updating, etc.
    Finally, for your view/controller layer you'll want to call the newly added methods in your AppModule class instead of calling your reporting classes directly. This will make your code cleaner and easier to maintain as well and also control (encapulate) the reporting services you want to expose to others.
    Hope that helps.

  • Combo LOV search on VO exposed on Shared Application Module

    Hello,
    My Jdev version 11.1.1.6. Technology stack is ADF BC and ADF faces.
    I have a generic lookup table that provides static list of values for many pages. Most lookup types have short list of values i.e. 15-20 and are implemented as selectOneChoice but some are 100+ and are implemented as Combo LOVs.
    This lookup VO has been exposed on Application level Shared Application Module and all LOVs are implemented on data model side.
    The problem is with Combo LOV search functionality. If I try to search on column, putting X%, it returns all values and I noticed that no query is sent to database which means it has all the data already cached on application server and returning all rows from there.
    If I change the LOV's Base VO [i.e. lookupVO] to regular [non-shared] then it perfectly searches as per entered criteria and returns correct rows.
    Do I need to set something on VO (or some where) to return filtered records from memory?
    My BC objects extends custom framework extn classes. Can something be done in custom framework etxn classes affecting only where it is required and not affecting other VOs [non-shared] functionality?
    Please help.
    Thanks,
    Jai

    Pratap,
    Thank you for the response.
    The reason I need to use new xxCO on the page is this.
    Seeded page CheckoutLinesPG.
    It has advanced table on it where every column has it's one external region.
    The new LOV region xxRN is put on a page also under this table new column.
    1. When a requester (seeded region on the seeded page) is changed then my xxLOV should reflect the change and be populated according to what is selected in the Requester LOV.
    2. When one-time address is added (another seeded region on the seeded page) my xxLOV should be disabled, when one time address taken out - enabled again.
    So xxCO should apply to the whole page.
    The VO behind advanced table PoRequisitionLinesVO is extended with 2 additional attributes and will substitute, the new xxVO is under xxAM data model.
    All works fine with my methods in the seeded RequisitionAM which I get a handle to in the xxCO. But I don;t know how to get the handle to the xxAM if I put my methods there.
    Thanks,
    Anatoliy
    P.S. just fyi - I know it is not the recommended approach but what I did for now I put all calls into the controller - in the controller I can get a handle to root AM, through that I am getting a handle to xxVO which (!) is substituted during runtime with my xxVO. But if you can figure out how to get a handle to xxAM in my case it will be great.
    Edited by: asmirnov on Mar 24, 2009 2:04 PM

  • Error While Calling a WebService from Application Module

    Hi all
    I have generated a Proxy from a web Service and i am trying to call the web service from an Application Module it is throwing me error
    JBO-29000: Unexpected exception caught: oracle.classloader.util.AnnotatedNoClassDefFoundError, msg= Missing class: webservices.types.com.siebel.xml.order_interface.Orders Dependent class: java.lang.reflect.Array Loader: jre.bootstrap Code-Source: unknown Configuration: jre bootstrap
    Missing class: webservices.types.com.siebel.xml.order_interface.Orders Dependent class: java.lang.reflect.Array Loader: jre.bootstrap Code-Source: unknown Configuration: jre bootstrap
    IMy web Service is correct, as i have executed the client and it is working fine, but when i try to class the web service from an external class or from an application module it is throwing me this error. So any light on this issue will be very helpful
    thanks

    Hi,
    did you registered the web service in the external service registration? The "DataAccessException:" is a hint to this issue.
    best regards,
    Rene

  • Error while calling webservice from application module

    Hi all
    I have generated a Proxy from a web Service and i am trying to call the web service from an Application Module it is throwing me error
    JBO-29000: Unexpected exception caught: oracle.classloader.util.AnnotatedNoClassDefFoundError, msg= Missing class: webservices.types.com.siebel.xml.order_interface.Orders Dependent class: java.lang.reflect.Array Loader: jre.bootstrap Code-Source: unknown Configuration: jre bootstrap
    Missing class: webservices.types.com.siebel.xml.order_interface.Orders Dependent class: java.lang.reflect.Array Loader: jre.bootstrap Code-Source: unknown Configuration: jre bootstrap
    My web Service is correct, as i have executed the client and it is working fine, but when i try to access the web service from an application module it is throwing me this error. So any light on this issue will be very helpful
    thanks

    This forum is for XML DB issues. XML DB is a feature of 9iR2 and later.You need t look in the XML Technology forum

  • Creation of SQL query at runtime in Application Module

    jdev 11.1.1.5.0 groups
    here i learned that how to use sql query at runtime http://jjzheng.blogspot.in/2010/11/run-single-query-in-application-module.html
    . but here values are passing are straightly instead of using bind vairiable means
    how to use that.
    can anyone come up with an same example as blog shown
    Edited by: subu123 on Apr 18, 2012 3:15 AM

    can anyone help me..
    i tried like this
    public String xxxyy(String xbu , String xid){
        String sql = "SELECT OPTION FROM xx_NOTES where xx_BU = ? AND xx_id = ? ";
        ResultSet rs;
        BigDecimal payAmt= null;
        try
        rs = getDBTransaction().createStatement(0).executeQuery(sql);
        if(rs.next())
        payAmt=(BigDecimal)rs.getObject(1);
        catch(SQLException e)
            e.printStackTrace();
       return payAmt.toString();
    ava.sql.SQLException: ORA-01008: not all variables bound
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
         at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
         at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
         at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
         at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
         at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:202)
         at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:919)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1261)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1419)
         at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1668)
         at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:432)
         at model.AppModuleImpl.generatenum(AppModuleImpl.java:46)
         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:597)
         at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:648)
         at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:2142)
         at oracle.adf.model.bc4j.DCJboDataControl.invokeMethod(DCJboDataControl.java:3063)
         at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:261)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1635)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2149)
         at oracle.jbo.jbotester.panel.MethodPanel$6.actionPerformed(MethodPanel.java:313)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlCon
    text.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    [54] DCBindingContainer.reportException :oracle.jbo.JboException
    [55] oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
         at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:690)
         at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:2142)
         at oracle.adf.model.bc4j.DCJboDataControl.invokeMethod(DCJboDataControl.java:3063)
         at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:261)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1635)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2149)
         at oracle.jbo.jbotester.panel.MethodPanel$6.actionPerformed(MethodPanel.java:313)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    [54] DCBindingContainer.reportException :oracle.jbo.JboException
    [55] oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
         at oracle.adf.model.binding.DCInvokeMethod.invokeMethod(DCInvokeMethod.java:690)
         at oracle.adf.model.binding.DCDataControl.invokeMethod(DCDataControl.java:2142)
         at oracle.adf.model.bc4j.DCJboDataControl.invokeMethod(DCJboDataControl.java:3063)
         at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:261)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1635)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2149)
         at oracle.jbo.jbotester.panel.MethodPanel$6.actionPerformed(MethodPanel.java:313)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6289)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

  • Making LOV off of an exposed method from second application module

    Hello,
    I am on JDev 11.1.1.4.0.
    My ADF project worked fine until the spec changed on how Lookups are going to be handled. Previuosly, all the lookup tables were in the same database as other tables. Change is that FND Lookups will be created in the "Oracle" and my ADF project should connect to "Oracle" to get appropriate lookup values to build LOVs while maintaining the main database connection intact.
    After some research, I now have 2 Application Modules, one my project and the other for Lookups to create LOVs. I went to Application Module configuration wizard to edit JDBC setting to point to "Oracle" database and created a read only view with the following SQL:
    SELECT LOOKUP_CODE, MEANING, DESCRIPTION FROM FND_LOOKUP_VALUES  
    WHERE LOOKUP_TYPE = 'MY_LOOKUP'
    AND ENABLED_FLAG = 'Y'
    AND LANGUAGE = 'US'I can run both AMs via "Oracle Business Component Browser" fine. However, I somehow have to set the lookup view object as data source to create LOV on the main updatable view object's attribute. If I set it the way I used to do treating the lookup view as a view object residing in the same AM I am getting "table or view does not exist" error. I guess it is something to do with the lookup view object, but I cannot seem to make any kind of progress on this.
    Any help would be greatly appreciated.
    Thank you
    Bones Jones
    Edited by: Bones Jones on May 19, 2011 10:40 AM

    Well, I think I have found a solution which I didn't have to write a single line of code. My mistake was to think that I have to write code to achieve this.
    Here is what I did:
    *I already have the main AM and View Objects created for my project.  The following steps are done on top of that to bring LOV to life
    1. Create a new, pretty empty AM, named LovAM.
    1.1 Right click on the newly created AM and select 'Configurations'
    1.2 Click JDBC Name value and click 'Edit'
    1.3 Select the second database source where Lookup is defined. If not listed, go back out and create a new Database connection and come back.
    2. Create a View Object with the following SQL:
    SELECT
        TO_NUMBER(LOOKUP_CODE) ID,
        MEANING NAME,
        DESCRIPTION
    FROM
        FND_LOOKUP_VALUES
    WHERE
        LOOKUP_TYPE = 'MY_LOOKUP' AND ENABLED_FLAG = 'Y' AND LANGUAGE = 'US'3. Notice you now have LovAMDataControl
    4. Create a jspx page and create a table with the main data control's binding (This was a part of the requirements).
    5. I create a read-only table with LovAMDataControl.LovLookUp1 binding (I think this creates/exposes correct binding in the pageDef).
    6. Now I drag-and-drop an attribute that I have been wanting to display LOV from the main binding.
    7. Selected single select listbox. You will be presented with 'Edit zlist Binding' screen.
    8. Base Data Source is the main data control binding.
    9. Select Dynamic List
    10. Select LovAM data control binding as List Data Source.
    11. (optional) Selected 'Name' as Display Attribute.
    11.1. (optional) I don't want to see the table created in step 5. On the jspx page, go to Source tab and delete the table from there. I think this keeps binding in pageDef while the UI component is deleted from the page.
    12. Save and Run
    Now, I didn't have to create Root Application Module in the code, but still achieved what I wanted.
    Thanks
    Bones Jones

  • [SOLVED]overriding VO's SQL query in an application module

    Hi, can anybody help me in searching examples of everriding some aspects of VO in an application module.
    As i learned we can override, for example the "WHERE" clause of an VO's SQL query in different application modules, using as i supply the addWhereClause method on SomeViewObjImpl object.
    ... but are there any examples of using this possibility? Should i create a custom method in application module java class?
    Thanks in advance. Best Regards.Alex.
    Message was edited by:
    Timin
    Message was edited by:
    Timin

    Hi, can anybody help me in searching examples of everriding some aspects of VO in an application module.
    As i learned we can override, for example the "WHERE" clause of an VO's SQL query in different application modules, using as i supply the addWhereClause method on SomeViewObjImpl object.
    ... but are there any examples of using this possibility? Should i create a custom method in application module java class?
    Thanks in advance. Best Regards.Alex.
    Message was edited by:
    Timin
    Message was edited by:
    Timin

  • Application Module retrieves different data than direct DB query

    Hi,
    I am using JDeveloper 1.1.1.6
    I have a big headache trying to figure out why my application Module is retrieving different data than if I execute the query of my ViewObject directly to the data base. To prove me that I am not crazy I have created a non updateable view object based in this sql query
    select * from hr_lookups;
    The application module is connecting to the database using JDBC URL Connection localhost:1529/DB and user name apps. When I run the application module I can see rows and everything as expected.
    If I connect to the same database using the same username, when I execute select * from hr_lookups; I get no rows!!!!
    I don't know what else to do and I really will appreciate your help in this one.
    Kind Regards

    Hi Timo,
    Thank you for your reply. Yes, I can see the exact same query. In fact all the rows are the same except one column. One attribute which is coming from a stored procedure. By this I mean the view object has the following structure;
    select att1, att2, ... , mypackage.myprocedure(param1,param2) from tables where clauses;
    So att1, att2, etc are the same whether I run the appModule or I copy and paste the query in a SQL WorkSheet and run it. The only different is the results of mypackage.myprocedure(param1,param2). So I have created a new view object from SQL query;
    select mypackage.myprocedure(param1,param2) from dual. From application module it returns one value and directly from SQL WorkSheet returns different value...
    Im sorry if I am not understandable but I am really desperate. Might it be permission or something like that???
    Regards

  • Binding Methods Exposed From Application Module

    Hi All,
    I am using JDeveloper 11.0.2. I have a method exposed on the Application Module that when invoked, it creates a row. I exposed AppModADImpl as a client interface. After doing this, I am now able to see the method under data control section. On my page, I when to bindings and tried to create a bind to this method, I am able to see the method but the OPERATIONS list is disabled, because of this, I am unable to create the bind to the page.
    The method I'm trying to bind is below
    public Row createSystemTypes() {
    ViewObjectImpl vo = getAdSystemTypes1();
    Row row = vo.createRow();
    vo.insertRow(row);
    return row;
    Because the Operations List if disabled, when I click OK, I get the Error "No Actiond defined for the selected Item"
    I would appreciate help to know why Im unable to bind the method to the page.

    As the method has been added to the client interface of the application module, you have to select the application module in the dialog, not a view object. After selecting the application module (or the data control or root node) you should see all methods which are part of the client interface.
    Still, I wold do like Joonas outlined: use drag and drop and if you don't like the button you get this way on the page, switch to source mode and remove it. This will keep hte generated binding in the page def. Removing the button in design view will remove both, button and binding.
    Timo

  • Defining bc4j.xcfg for Webservice from ADF Application Module

    Hi all,
    I've already posted my previous question in JBO30003 while executing ADF Application Module WebService
    but no replies at all :)
    after thorough inspection, i found that why my client can connect to ADF AM and why my WebService Invocation is failed with JBO 300003. My J2EE Client application is connected to ADF AppModule with some configuration in CPX file.
    <JboProject
       id="DataBindings"
       xmlns="http://xmlns.oracle.com/adfm/application"
       version="10.1.2.18.73"
       SeparateXMLFiles="false"
       Package=""
       ClientType="JClient" >
       <Contents >
          <DataControl
             id="AppModuleDataControl"
             SubType="DCBC4J"
             SupportsFindMode="true"
             SupportsTransactions="true"
             Package="package"
             FactoryClass="FactoryImpl"
             Configuration="AppModuleEmbeddedAS" >
             <Parameters >
                <Parameter
                   name="Sync"
                   value="Immediate" >
                </Parameter>
             </Parameters>
          </DataControl>
    and so forththis CPX file define that this client connect to Application Module on my AppServer with "AppModuleEmbeddedAS" configuration, as stated in my BC4J.XCFG.
    <AppModuleConfig name="AppModuleEmbeddedAS">
             <AppModuleJndiName>AppModuleBean</AppModuleJndiName>
             <java.naming.security.credentials>welcome</java.naming.security.credentials>
             <DeployPlatform>EjbIas</DeployPlatform>
             <java.naming.security.principal>admin</java.naming.security.principal>
             <jbo.internal.embedded>true</jbo.internal.embedded>
             <HostName>localhost</HostName>
             <jbo.ampool.dynamicjdbccredentials>false</jbo.ampool.dynamicjdbccredentials>
             <ApplicationName>AppModule</ApplicationName>
             <jbo.ampool.doampooling>false</jbo.ampool.doampooling>
             <java.naming.security.authentication>simple</java.naming.security.authentication>
             <java.naming.factory.initial>oracle.jbo.common.JboInitialContextFactory</java.naming.factory.initial>
             <ConnectionPort>23891</ConnectionPort>
             <JDBCDataSource>jdbc/DBGEBPOC_on_LOCALHOSTDS</JDBCDataSource>
             <java.naming.provider.url>ormi://localhost:23791/current-workspace-app</java.naming.provider.url>
             <jbo.server.internal_connection>jdbc/DBGEBPOC_on_LOCALHOSTCoreDS</jbo.server.internal_connection>
             <jbo.dofailover>false</jbo.dofailover>
             <ApplicationPath>current-workspace-app</ApplicationPath>
             <jbo.ampool.resetnontransactionalstate>false</jbo.ampool.resetnontransactionalstate>
          </AppModuleConfig>Now, how could I define configuration like my J2EE Client in my web service? as we know that web service's client is web browser. Does it mean that we can't define any CPX file?
    FYI, My webservice's End Point pages is successly shown up. but when i invoke the method, it returns XML with faultmessage Error JBO30003.

    Hi,
    You can directly edit the bc4j.xcfg file. Note that the WebService binding is not created from the Am directly but from the deployed WSDL file.
    Frank

  • JBO30003 while executing ADF Application Module WebService

    Hi all,
    I'm using JDev 10.1.2.0 build (1913), Application Server 10g (9.0.4.0.0), Database 10g (10.2.0.1), All of them runs on Windows XP box. Currently, I'm developing a Web Service application from my existing J2EE application. The existing J2EE application uses ADF (client and server side), SpringFramework RCP (client for menu framework)+Swing. It was compiled and run succesfully. Client can connect to application server, accessing EJB, database.
    The problem occurs when I try to make another deployment that support WebService. We know that with JDev, we can easily create WS App from EJB. Since my EJBs are statefull--which cant be use for WS--I try to make WS from Application Module, by simply drag J2EE WebService in Remote App Module Dialog Box. The WSDL is created, Interface is created too.
    For deployment to AS, i'm using ant because JDev can't create EAR file with proper library. I've done this:
    1. copying snippet code web.xml from JDev generation to my web.xml, starting from Servlet tag until servlet mapping.
    2. include wsdl file for my JAR file
    3. deploy to AS with Enterprise Manager
    The WS End Points can be access from http browser. All of methods are accessible. But when I'm invoking any random method, the result is always like this:
    <?xml version='1.0' encoding='UTF-8'?>
    <SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Server.Exception:</faultcode>
    <faultstring>oracle.jbo.common.ampool.ApplicationPoolException: JBO-30003: The
    application pool (xxx.xxx.xxxxxx.model.service.SOSAAppModuleLocal) failed to
    checkout an application module due to the following exception:</faultstring>
    <faultactor>/serverpoc/AppModuleService</faultactor>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>is there some XMLs snipped code from JDev's WS generated file that i'm not put them in my ant's XMLs? because i'm sure that all of my EJBs in same EAR file with WS application are accessible from ADF Swing Client
    i'm googling the error message JBO-30003, but none of them fits my problem. Any help and suggestions are appreciated. Thanks...
    :)

    i notice that there is file Webservice.deploy. What is it for? I assume that file is used by some kind of proccess of JDev to deploy EAR file.If it is a compulsory file, how to convert it to ANT build file?
    I've modified some classes in my working J2EE application, and deploy it with JDev to my AppServer. But still, while invoking anymethods of WebService at my endpoint, it also has same XML response that an error occured with JBO-30003..
    Having searched in oracle, i found examples are using JDev 10.1.3 which is completely different with my JDev 10.1.2 (build 1913). I cant follow that tutorial. Any one know how to deal with this issues?
    Thanks

  • How to programmatically call remote application module - JDev 10.1.3.3.0

    Hi,
    I've an ADF web application (10.1.3.3.0) deployed onto an OAS server. I'd like to be able to access view objects via the application module of this web app from a simple java class on another server.
    I've created a simple class to query a local application module (included in the same project as the simple class). This works fine but I'm not sure how to change this to access an application module when it's remote on another server. Can anyone assist?
    Here is my sample code for querying a local application module/view object:
        public static void main(String[] args) {
            ApplicationModule applicationModule =
                Configuration.createRootApplicationModule("com.almac.model.common",
                                                          "AppModuleLocal");
            try {
                ViewObject eventList = applicationModule.findViewObject("SipEventsView1");
                eventList.executeQuery();
                while (eventList.hasNext()) {
                    Row event = eventList.next();
                    System.out.println("Event Name: " + event.getAttribute("EveName"));
            } catch (JboException e) {
                System.out.println(e.getMessage());
            } finally {
                Configuration.releaseRootApplicationModule(applicationModule, true);
        }Thanks,
    Paul.

    You can expose an AM as an EJB or Web service to expose them for remote access:
    http://download.oracle.com/docs/cd/B32110_01/web.1013/b25947/web_services.htm#CJAEEICB

Maybe you are looking for