Database adapter MCF configuration for jDeveloper

Hi All-
Help me to understand the mcf configuration in database adapter wsdl.
When we develop BPEL process, the database adapter wsdl file has mcf configuration mentioned in it from the connection we made in jDeveloper. wsdl file also has JNDI locaton which we actually need to define in application control of SOA suite which in runtime gets the database detail from application control of SOA suite, not from mcf details.
It always recomended to remove the mcf, is it because if the JNDI mention is not defined in the SOA application control, it may look for the mcf configuration too and if found it will fire the database connection mentioned at design time.
Thanks in advance.
Regards,
Sreejit

Hi Sreejit,
Please note that the .mcf properties has dependency on JDeveloper. As it is currently, the .mcf properties only have relevance on the platform on which the process was developed.
The process can only be worked on by another developer on another platform if these properties remain in place. If deleted, the connection information can no longer be edited in the wizard, and so the connection is effectively hardcoded. This unnecessarily complicates the development process since it results in multiple versions of a single BPEL process as it moves throughout the
development lifecycle and into Production, adding signficant busy work on top of the normal development activities. Moreover, these properties are a JDeveloper/Oracle convention and not part of the open standard WSDL specification.
Hope this helps!
Cheers
Anirudh Pucha

Similar Messages

  • Drop a database which is configured for alwayson

    Hi All,
    Can i delete a database which is configured for always on without removing the database from Always on availability group?
    In my environment i have few databases which are configured for Always ON and all the databases belong to the same availability group. So if I remove all the databases from availability group then there is no need to retain the availability group. what are
    the steps that I should follow to remove the availability group from both primary and secondary replicas?
    Thanks in Advance,
    Kranthi

    Check these
    https://msdn.microsoft.com/en-us/library/hh213326.aspx
    https://msdn.microsoft.com/en-us/library/ff878113.aspx
    http://blogs.msdn.com/b/psssql/archive/2012/06/13/how-it-works-drop-availability-group-behaviors.aspx
    Regards, Ashwin Menon My Blog - http:\\sqllearnings.com

  • DataBase Adapter Rollback option for Logical/Physical Delete in SOA  11g

    Hi All,
    We have a requirement where we need to rollback the logical delete performed by the DB Adapter (after polling a table) if there is any failure in the process down the line. We are trying to implement this using Mediator or OSB. For example if we are polling a table for changed records and performing logical delete, down the line if the business service (OSB) or the external reference (Mediator) are down/faulted, the records which were logically deleted are not getting rolled back in the table. Would any one please let me know if you have come across the same kind of scenario?
    Is there any property we need to set while configuring the polling DB Adapter?
    Thank You.

    Thank you very much for the reply Anuj,
    I have created a db adapter which polls on a table with logicaldeletestrategy in JDeveloper 11g,
    then I imported the XSD, mapping.xml, wsdl and JCA file into OSB using OSB consol. In the console
    I generated proxy and wsdl for that proxy using JCA file. Then created one more db adapter in JDev
    which inserts the records polled by the first db adapter into another table, followed the same
    process of importing the above mentioned 4 files and generated a business service. In proxy service
    route node I am using a transformation (which also I imported from Jdev) to route the data polled
    by proxy service to the business service. Here I am using an XA datasource both the JCA's also
    I made the 3 changes reccommended by Arun but still I am not getting the results.
    I tried physical delete same issue with that too. When I am doing physical delete the proxy service
    atleast picking up the records and deleting them. But when I tried logical delete the proxy is not even
    picking up the records. Am I missing anything here?
    Thank You,
    Edited by: user12237005 on Apr 7, 2011 2:17 PM

  • Can a default database name be configured for each individual environment?

    Hi All
    We have an application developed in Forms 10G. The application Login page has 3 fields, one for Username, Password & Database Name. We want to pre fill the database name field with a value (e.g. TEST1) which cannot be changed by the user. In previous versions of the application developed in Forms 6i we were able to do this using a Registry Entry on the Windows Client PC. We are now running the new application on Oracle 10G Forms & Reports hosted on a Solaris 10 Server.
    Can anyone tell me if this is possible to configure and if so how and where it needs to be configured in the application server? Or, if not if it can only be done progammatically in the login form.
    Many thanks
    Deanmun

    - in the config section of your application in formsweb.cfg add : userid=@dbname
    - in the login-form in WHEN-NEW-FORM-INSTANCE-Trigger access the Database name with
    v_ connect_string := GET_APPLICATION_PROPERTY(connect_string);
    Put this value into your block/field ...

  • Oracle SOA Suite 10.1.3.4 Polling database table with Database Adapter

    We are trying to use the database adapter to poll for new and changed data in a database. To do that we try to use a sequencing table on an external database. But for that we need to specify the data-source name for the external sequencing table. Where do we need to define this data-source? We have tried with data-source defined in the Enterprise Manager, but it's not right. Also tried with the name of database connection in JDeveloper, still not working.
    Any ideas?

    Hi,
    If you are trying to understand how to create a connection pool for a data source, then this document might be helpful
    http://blogs.oracle.com/fusionmiddlewarereallife/soa_11g_bpel_composite_and_database_adapter.html

  • Conditional where clauses in database adapter

    I am trying to write a query in a database adapter that allows for conditional where clauses. Specifically, I want to include or not include a where clause (and clause) if an input variable is empty or not. Can a prepared statement with lexical parameters be used in a database adapter? Or is there another way to do this?
    Thanks in advance.

    I am afraid that you can only bind parameters to the SQL, you can't bind the SQL itself to the SQL. We do have QueryByExample support, where based on what fields are set in an example object, it will construct a different SQL select.
    If you pass in
    <Address>
    <street/>
    <city>
    <state>CA</state>
    </Address>
    it will return all addresses in California. If you pass in:
    <Address>
    <street/>
    <city>Los Angeles</city>
    <state/>
    </Address>
    it will return all addresses in Los Angeles.
    Thanks
    Steve

  • Diferences in data from database adapter and EJB

    I'm having a strange behaviour in a BPEL that uses a Database Adapter and EJJB for several database operations.
    What happens is that when I create records in the database through the adapter, if I retrieve them through the EJB, the records returned do not contain the newly inserted data. It seems that there is a cache in the EJB side that is not updated when an new record is inserted. If I restart the server the records appear. this does not happen if I insert through the database adapter and retrieve thought it also.
    Does anyone have a clue about this?
    Thanks in advance

    Hi Pedro
    What kind of code do you have in EJB to retrieve the data. Are you using the standard JNDI Lookup for datasource and then get connection object. Then run the query on this connection. If so, do you have like any Static variables declared that stores this information. Or do you use the Eclipse JPA layer that uses annotation on the Entities generated for each table. Incase if you use JPA architecture, there are some cache settings and may be that could be the reason.
    Thanks
    Ravi Jegga

  • Safe to remove mcf properties for Oracle Application Adapter?

    Hello all,
    I want to remove mcf properties from my Oracle application adapter (Connect to a business event), but I can't deploy the process any more.
    Anyone can help?
    Jdev: 10.1.3.4.0.4270
    SOA Suite: 10.1.3.4 on AIX 5.3
    --> From
    <!-- These mcf properties are safe to remove.-->
    <jca:address location="jdbc/fmis" UIConnectionName="FMIS" UIOracleAppType="WFBES" UIWfEventName="xx.oracle.apps.ap.event.xmlRemit"
    ManagedConnectionFactory="oracle.tip.adapter.apps.AppsManagedConnectionFactory"
    mcf.ConnectionString="jdbc:oracle:thin:@server1.test.com.au:1524:B2B1"
    mcf.UserName="apps"
    mcf.Password="7CC4D295E4DDDA919427B6716C0BDD1D" />
    --> To
    <jca:address location="jdbc/fmis" UIConnectionName="FMIS" UIOracleAppType="WFBES" UIWfEventName="xx.oracle.apps.ap.event.xmlRemit"
    ManagedConnectionFactory="oracle.tip.adapter.apps.AppsManagedConnectionFactory" />
    --> Error message
    BUILD FAILED
    C:\projects\eProcurement\PAEBSToB2B\build.xml:78: A problem occured while connecting to server "server1.test.com.au" using port "7783": bpel_PAEBSToB2B_1.0.jar failed to deploy. Exception message is: ORABPEL-09903
    Could not initialize activation agent.
    An error occured while initializing an activation agent for process "PAEBSToB2B", revision "1.0".
    Please ensure that the activation agents are configured correctly in the bpel deployment descriptor (bpel.xml).
    oracle.tip.adapter.fw.agent.jca.JCAActivationAgent: ORABPEL-12517
    AdapterFrameworkImpl::endpointActivation - Endpoint Activation Error.
    The Resource Adapter Oracle Applications Resource Adapter was unable to activate the endpoint oracle.tip.adapter.apps.AppsWFBesQueueDequeueActivationSpec:{OpaqueSchema=false, DatabaseSchema=APPS, QueueName=WF_BPEL_Q, Consumer=ORA_6os32h1m84r38di684rj2c1k61, MessageSelectorRule=tab.user_data.event_name = 'xx.oracle.apps.ap.event.xmlRemit', AppsEventSchema=NO_SCHEMA} due to the following reason: ORABPEL-00000
    Error in creating the managed connection pool.Invalid Connection Cache Name. Must be a valid String and Unique
    Please correct the reported issue and redeploy the BPEL process.
    at com.collaxa.cube.engine.core.BaseCubeProcess.startAllActivationAgents(BaseCubeProcess.java:428)
    at com.collaxa.cube.engine.deployment.DeploymentManager.activateDefaultRevision(DeploymentManager.java:1733)
    at com.collaxa.cube.engine.deployment.DeploymentManager.setDefaultRevision(DeploymentManager.java:1691)
    at com.collaxa.cube.engine.deployment.DeploymentManager.deployProcess(DeploymentManager.java:950)
    at com.collaxa.cube.engine.deployment.DeploymentManager.deploySuitcase(DeploymentManager.java:792)
    at com.collaxa.cube.ejb.impl.BPELDomainManagerBean.deploySuitcase(BPELDomainManagerBean.java:455)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:618)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:693)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at DomainManagerBean_RemoteProxy_4bin6i8.deploySuitcase(Unknown Source)
    at com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.java:319)
    at com.oracle.bpel.client.BPELDomainHandle.deployProcess(BPELDomainHandle.java:341)
    at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:376)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
    at java.security.AccessController.doPrivileged(AccessController.java:279)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:727)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:810)
    Total time: 40 seconds
    Regards,
    Kerr

    Thanks James,
    I feel it is not my configuration problem.
    Here are my configurations.
    All oc4j-ra.xml configuration point to connection pool AppsB2BPool, with a JNDI name jdbc/fmis.
    And I only hit this problem when I try to deploy a BPEL process with an application adapter to use e-business event.
    $ORACLE_HOME/j2ee/oc4j_soa/config/data-sources.xml
    <connection-pool name="AppsB2BPool">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="apps" password="PASSWORD" url="jdbc:oracle:thin:@(DESCRIPTIO
    N=(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=tcp)(HOST=testserver.nsw.gov.au)(PORT=1524)))(CONNECT_DATA=(SERVICE_NAME=B2B))
    )" commit-record-table-name=""/>
    <managed-data-source connection-pool-name="AppsB2BPool" jndi-name="jdbc/fmis" name="FMIS"/>
    $ORACLE_HOME/j2ee/oc4j_soa/application-deployments/default/DbAdapter/oc4j-ra.xml
    add:
         <connector-factory location="eis/DB/FMIS" connector-name="FMIS Database Adapter">
    <config-property name="xADataSourceName" value="jdbc/fmis"/>
    <config-property name="dataSourceName" value=""/>
    <config-property name="platformClassName" value="oracle.toplink.platform.database.Oracle9Platform"/>
    <config-property name="usesNativeSequencing" value="true"/>
    <config-property name="sequencePreallocationSize" value="50"/>
    <config-property name="defaultNChar" value="false"/>
    <config-property name="usesBatchWriting" value="true"/>
    <connection-pooling use="none">
    </connection-pooling>
    <security-config use="none">
    </security-config>
         </connector-factory>
    $ORACLE_HOME/j2ee/oc4j_soa/application-deployments/default/AqAdapter/oc4j-ra.xml
    add:
         <connector-factory location="eis/AQ/FMIS" connector-name="FMIS AQ Adapter">
    <config-property name="xADataSourceName" value="jdbc/fmis"/>
    <config-property name="dataSourceName" value=""/>
    <config-property name="connectionString" value=""/>
    <config-property name="userName" value=""/>
    <config-property name="password" value=""/>
    <config-property name="defaultNChar" value="false"/>
    <config-property name="useDefaultConnectionManager" value="false"/>
    <connection-pooling use="none">
    </connection-pooling>
    <security-config use="none">
    </security-config>
    </connector-factory>
    $ORACLE_HOME/j2ee/oc4j_soa/application-deployments/default/AppsAdapter/oc4j-ra.xml
    add:
         <connector-factory location="eis/Apps/FMIS" connector-name="FMIS Applications Adapter">
    <config-property name="xADataSourceName" value="jdbc/fmis"/>
    <config-property name="dataSourceName" value=""/>
    <connection-pooling use="none">
    </connection-pooling>
    <security-config use="none">
    </security-config>
    </connector-factory>
    By the way, I have raised a SR 7551800.992 at the same time.
    Regards,
    Kerr

  • Intermittence for execute Polling with DataBase Adapter in OSB11g

    Hello Guys,
    I'm having a problem running the polling DataBase Adapter OSB11g. The creation of the adapter was made in Jdeveloper 11.
    The problem is:
    Intermittence to run the polling DataBase. Sometimes it works, other time it does not work.
    Displays the following exception:
    *<Info> <JCA_FRAMEWORK_AND_ADAPTER> <BEA-000000> <<oracle.tip.adapter.db.InboundWork handleException> BINDING.JCA-11624*
    DBActivationSpec Polling Exception.
    *Query name: [BD_XPTO_NOTIFICA_XPTOSelect], Descriptor name: [BD_XPTO_NOTIFICA_PRICING.XPTO]. Polling the database for events failed on this iteration.*
    Caused by JTS transaction was marked rollback only.
    This exception is considered retriable, likely due to a communication failure.  Polling will be attempted again next polling interval.
    This is a BUG? Have Fix?
    Tks,
    Azevedo, Artur.

    It looks like a database issue or a XA configuration issue? What database you're polling? Oracle? Sybase? Check if your database is supported...
    Cheers,
    Vlad

  • Password indirection for database adapter

    Does the database adapter support the use of thge password indirection feature? I refer to the topic Creating an Indirect Password in the OC4J J2EE Security Guide, see http://download-east.oracle.com/docs/cd/B14099_15/web.1012/b14013/passman.htm#sthref746,
    oc4j-ra.xml is not listed.

    you will notice a JNDI name for this e.g. eis/DB/... this is used to look at the Application Server configuration. If it doesn't exist then it will use the credentials used as design time. Not good asthe connection will be fore development mainly.
    you can safely remove the mcf setting from the wsdl so it will always force the AS connection. this is good practice.
    To configure the AS configuration there is the oc4j-ra.xml file for the DB adapter. Or you can configure in Enterprise Manager
    EM -> oc4j_soa (home if basic install) -> Administration -> JDBC Resources
    configure a connection pool and data source
    then create a JNDI name entry for the DB adapter
    EM -> oc4j_soa (home if basic install) -> Applications -> Drop Down box select Adapter Resources -> DB Adapter
    Use the examples. You will see that the connect string = jdbc/DBName
    cheers
    James

  • Use of current time for polling Database Adapter query

    I am writing a simple BPEL process with a Polling Database Adapter and a Recieve. The idea is that we are polling an XE database for any entries in a TRIP table which have an expiration date/time field that has passed.
    The Adapter was build using JDeveloper 10.1.3.2 (with Oracle Application Server patched to 10.1.3.3.0) as a "Poll for New Changed Records in a Table" Operation type with a STATUS field (0 for live, 1 for expired) as the Logical Delete Field.
    I was unable to find a way to generate a SELECT query expression with the wizard that would allow me to use current/system time as an attribute, so I finished the wizard and edited the Toplink Descriptor to use a custom SQL expression for the query. This resulted in the following code in the toplink_mappings.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink:object-persistence version="Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)"
    xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opm:name>ExpiredTripPoller</opm:name>
    <opm:class-mapping-descriptors>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>ExpiredTripPoller.Trip</opm:class>
    <opm:alias>Trip</opm:alias>
    <opm:primary-key>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy">
    <opm:queries>
    <opm:query name="ExpiredTripPoller" xsi:type="toplink:read-all-query">
    <toplink:timeout>0</toplink:timeout>
    <toplink:call xsi:type="toplink:sql-call">
    <toplink:sql>SELECT ID, LPN, START_TIME, EXPIRY_TIME, STATUS FROM TRIP WHERE ((STATUS = '0') AND (EXPIRY_TIME < SYSDATE)) ORDER BY EXPIRY_TIME ASC</toplink:sql>
    </toplink:call>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    <opm:query name="findAllTrip" xsi:type="toplink:read-all-query">
    <toplink:timeout>0</toplink:timeout>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    </opm:queries>
    <toplink:does-exist-query xsi:type="toplink:does-exist-query">
    <toplink:existence-check>check-database</toplink:existence-check>
    </toplink:does-exist-query>
    <toplink:read-all-query xsi:type="toplink:read-all-query">
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </toplink:read-all-query>
    </opm:querying>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>lpn</opm:attribute-name>
    <opm:field table="TRIP" name="LPN" xsi:type="opm:column"/>
    <opm:attribute-classification>java.lang.String</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>startTime</opm:attribute-name>
    <opm:field table="TRIP" name="START_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>expiryTime</opm:attribute-name>
    <opm:field table="TRIP" name="EXPIRY_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>status</opm:attribute-name>
    <opm:field table="TRIP" name="STATUS" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    <toplink:always-refresh>true</toplink:always-refresh>
    </toplink:caching>
    <toplink:remote-caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    </toplink:remote-caching>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    <toplink:tables>
    <toplink:table name="TRIP"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    </opm:class-mapping-descriptors>
    </toplink:object-persistence>
    To test I used the above custom SQL at the command line and it filtered the records by EXPIRY_TIME as expected.
    When deployed, the polling process updates the STATUS file dof table entries, but all entries with status 0 regardless of EXPIRY_DATE. My modification appears to be being ignored. I was unsure as to whether the QUERY was being determined in some other way so I modified the descriptor (with the toplink expression editor) to compare against a literal time value, producing the following modified toplink_mappings.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink:object-persistence version="Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)"
    xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opm:name>ExpiredTripPoller</opm:name>
    <opm:class-mapping-descriptors>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <opm:class>ExpiredTripPoller.Trip</opm:class>
    <opm:alias>Trip</opm:alias>
    <opm:primary-key>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    </opm:primary-key>
    <opm:events xsi:type="toplink:event-policy"/>
    <opm:querying xsi:type="toplink:query-policy">
    <opm:queries>
    <opm:query name="ExpiredTripPoller" xsi:type="toplink:read-all-query">
    <opm:criteria operator="lessThan" xsi:type="toplink:relation-expression">
    <toplink:left name="expiryTime" xsi:type="toplink:query-key-expression">
    <toplink:base xsi:type="toplink:base-expression"/>
    </toplink:left>
    <toplink:right xsi:type="toplink:constant-expression">
    <toplink:value xsi:type="xsd:date">2007-07-30</toplink:value>
    </toplink:right>
    </opm:criteria>
    <toplink:timeout>0</toplink:timeout>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    <opm:query name="findAllTrip" xsi:type="toplink:read-all-query">
    <toplink:timeout>0</toplink:timeout>
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:cache-usage>primary-key</toplink:cache-usage>
    <toplink:lock-mode>none</toplink:lock-mode>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </opm:query>
    </opm:queries>
    <toplink:does-exist-query xsi:type="toplink:does-exist-query">
    <toplink:existence-check>check-database</toplink:existence-check>
    </toplink:does-exist-query>
    <toplink:read-all-query xsi:type="toplink:read-all-query">
    <toplink:reference-class>ExpiredTripPoller.Trip</toplink:reference-class>
    <toplink:container xsi:type="toplink:list-container-policy">
    <toplink:collection-type>java.util.Vector</toplink:collection-type>
    </toplink:container>
    </toplink:read-all-query>
    </opm:querying>
    <opm:attribute-mappings>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>id</opm:attribute-name>
    <opm:field table="TRIP" name="ID" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>lpn</opm:attribute-name>
    <opm:field table="TRIP" name="LPN" xsi:type="opm:column"/>
    <opm:attribute-classification>java.lang.String</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>startTime</opm:attribute-name>
    <opm:field table="TRIP" name="START_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>expiryTime</opm:attribute-name>
    <opm:field table="TRIP" name="EXPIRY_TIME" xsi:type="opm:column"/>
    <opm:attribute-classification>java.sql.Timestamp</opm:attribute-classification>
    </opm:attribute-mapping>
    <opm:attribute-mapping xsi:type="toplink:direct-mapping">
    <opm:attribute-name>status</opm:attribute-name>
    <opm:field table="TRIP" name="STATUS" xsi:type="opm:column"/>
    <opm:attribute-classification>java.math.BigDecimal</opm:attribute-classification>
    </opm:attribute-mapping>
    </opm:attribute-mappings>
    <toplink:descriptor-type>independent</toplink:descriptor-type>
    <toplink:caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    <toplink:always-refresh>true</toplink:always-refresh>
    </toplink:caching>
    <toplink:remote-caching>
    <toplink:cache-type>weak-reference</toplink:cache-type>
    </toplink:remote-caching>
    <toplink:instantiation/>
    <toplink:copying xsi:type="toplink:instantiation-copy-policy"/>
    <toplink:change-policy xsi:type="toplink:deferred-detection-change-policy"/>
    <toplink:tables>
    <toplink:table name="TRIP"/>
    </toplink:tables>
    </opm:class-mapping-descriptor>
    </opm:class-mapping-descriptors>
    </toplink:object-persistence>
    On deployment, this version of the BPEL process behaved as expected - only modifying the records with EXPIRY_TIME less thatn the literal time specified. (Also, I can't really pass in the time as a parameter as this is a polling model).
    Can anyone shed any light on what is happening or suggest how I might go about polling in the desired way?
    Cheers

    Please take a look at this article which states SYSDATE is not supported in a
    where clause.
    http://www.oracle.com/technology/pub/articles/bpel_cookbook/qualcomm-bpel.html
    Excerpt from the article:
    Here are three important things you should do in implementing the above design:
    Have the status of the record being processed stored in the database. The status includes the process state, next process attempt time, and processing attempt count.
    Create an updatable view that exposes only records that are ready to be processed. A view is needed because the database adapter cannot handle a where clause that compares against SYSDATE.
    Design logic that determines if a process instance that has faulted should be retried and when the retry should occur. This information will be updated in the database by use of a stored procedure. This can also be done with an update partner link and additional logic in BPEL.
    mahalo,
    a iii

  • Database Adapter Configuration Wizard "File already exists" error

    I'm uding JDeveloper 10.1.3.1 on an XP machine running Java 1.5.0_06 and having trouble editing SOAOrderBooking.bpel as part of the tutorial.
    The tutorial calls for me to drag a new Database Adapter onto the diagram, select the "soademo_ssn" database and, on page 3 of the wizard select "Perform an operation on a table" and have only "Select" checked.
    When I click "Perform an operation on a table", the 5 tickboxes enable and are checked but the mouse pointer remains as an hourglass. If I press "Next" without doing anything else, the Wizard title changes to "Select Table" but never draws its controls, aside from the "Back" etc buttons along the bottom and the decorative graphic to the left. If I do try unchecking boxes to have only "Select" selected, every check box state change generates the error "File already exists" and the path of the .mwp file whose name I specified earlier. The file does exist, but it didn't before I entered the wizard.
    I've tried with three different filenames, and with two different database connections- both of which check out fine when I do "Test connection" in their property pages from the Connection Navigator.
    If I delete the file after each check state change, I can stop the errors appearing after I untick each checkbox, but the wizard still hangs on pressing "Next" whether the file is there or not.
    Does anyone have any suggestions?

    I am facing the same issues.
    I want to pick the new files and retain the files after polling.
    Any idea on this would help me to solve this issue.
    Thanks in advance.

  • JDeveloper 11g Errors Editing BPEL Database Adapter

    I am encountering problems editing Database Adapters in a BPEL based Service Composite Application in JDeveloper. Specifically,
    * double-clicking an existing Database Adapter component to view/edit it generates an uncaught exception in the GUI
    * clicking Next through the wizard proceeds to the next step but the view showing the
    SQL select criteria and input parameters doesn't return the original values set when the
    adapter was first created -- a second NPE is logged at that time
    Here are the specifics of what's running:
    * host for JDeveloper is a Windows7 Home Premium 64-bit (version 61. build 7601 SP 1) PC with 8GB RAM
    * JDeveloper 11.1.1.5 (the SOA / WebCenter version)
    * the c:\OracleMW directory has JDK 6.0.24 installed
    * the Windows machine does have Java EE JDK 7 installed but JDeveloper uses the JDK inside c:\OracleMW
    * while running, JDeveloper is using around 274M of memory
    * database hosting the SOA meta data store and the desired DB of the adapter is 11g (11.2.0.1.0)
    * database is up, reachable and healthy while attempting to edit the Adapter component
    Here is the exact error encountered and the stack trace:
    GUI popup = An unexpected error has occurred in JDeveloper. The program may be unstable, which could result in data loss. Decide how you want to proceed and click OK.
    Details = Uncaught exception
    java.lang.NullPointerException
    o.tip.tools.ide.adapters.designtime.adapter.xr.util.SQLRefresher.run(SQLRefresher.java:118)
    j.lang.Thread.run(Thread.java:662)
    If you click on ignore / continue and proceed through the steps of the Wizard, when the Define Selection Criteria step appears, the original criteria and input parameters defined when the adapter was first built are not displayed and the "Feedback - Log" tab in the log windows registers another entry of:
    Previously reported error [NPE in o.tip.tools.ide.adapters.designtime.adapter.xr.util.SQLRefresher:118]
    Also, if you go through the motions of adding a new parameter variable in the top section of the dialog, after clicking OK, the dialog DOES suddenly display the original variables defined as input parameters.
    Thinking this is a symptom of JDeveloper trying to run in too little memory, I have attempted to increase the max memory setting of JDeveloper to 1024M by adding this line
    AddVMOption -Xmx1024M
    in
    c:\OracleMW\JDeveloper\jdev\bin\jdev.conf
    I've also tried adjusting that same setting in the config file for the IDE itself at
    c:\OracleMW\JDeveloper\ide\bin\ide.conf
    and get the same result. (Subsequent review of properties in About JDeveloper shows that JDeveloper uses the jdev.conf file, not the ide.conf file FWIW.) Memory really shouldn't be a problem because I'm still new to SOA style development and the "application" involved is a very simple "HelloSOA" type service that just sets a couple of BPEL variables, transforms some input variables into variables passed to this Database Adapter, does a few more Transform operations for the DB result values to the reply values and sends the reply.
    However, one other sign that memory utilization could be contributing to this is that periodically, switching to the "Source" view of the composite.xml file or the BPEL process file will lock the GUI up for about 35 seconds with nothing happening. An obvious sign of garbage collection gettng triggered.
    Any suggestions?

    Oracle has identified a fix added to newer versions of JDeveloper which corrected these NullPointerException errors encountered using the 11.1.1.5 version of JDeveloper. That fix had not be propagated back to the 11.1.1.5 version but subsequently HAS been ported back. The fix is associated with patch ID 12670305 which can be downloaded from http://support.oracle.com by searching for that bug ID then downloading the associated ZIP file. I've applied the patch to JDeveloper 11.1.1.5 running on Windows7, Vista 32-bit and LINUX 64-bit and it works like a champ on all three platforms.

  • Database Adapter not working properly for more input parameters in OSM

    Hi,
    We are using OSM 7.0.0.3 and using design studio for development.
    Recently we are facing issue with the database adapter.In Studio,we have options for configuring the JDBC adapter.
    we have custom table in the database which has four columns with it.we are suppose to retrieve this table data using database adpater.
    so,whats happening here is,when we are sending two parameters as input to database adapter,we are able to retrive the table data properly.
    but,
    when we are sending morethan two parameters as input adapter,it is not giving right results.
    so,
    is there any constarint on how many parameters to be send as inut to adapter???
    any opinoin on first look at the issue??i will share the sample code if needed.

    Hi Naidu,
    OSM 7.0.0.3 is a very old version and they are many fixes on top of it. So request you to please use any of the latest versions of OSM 7.0.1/7.0.2/7.0.3 and retest the issue. We are not giving any patches on top of OSM 7.0.0. You can also raise a service request for further investigation and analysis.
    Regards,
    JP

  • Database Adapter Configuration Execute Pure SQL

    Hii
    I have following scenario in my Project.
    I have ERRORCODE Details Table in Database which has following columns.
    1)ERRORCODE VARCHAR2
    2)PRIORITY VARCHAR2
    3)QueueName Varchar2
    I have one web service which takes errorcode as input parameter of string type in which i have to pass values like 1,2,3.
    Web service treated these values as complete one string value but i want it should be treated like seperately.Beacuse i have to pass these values to the query.
    I have configured database adapter for the following query using Execute Pure SQL.
    SELECT DISTINCT QueueName FROM ErrorCodeDetails where priority= (select min (priority) from ErrorCodeDetails where ErrorCode In(#ERRORCODE))
    So can anyone please help me what changes i have to make in this query so the sql query treat the errorcode string value as three different value rather than one single value??
    Thanks in advance.
    Regards,
    Priyanka

    Change the query like this.
    SELECT DISTINCT QueueName FROM ErrorCodeDetails where priority= (select min (priority) from ErrorCodeDetails where ErrorCode In(select csv from xmltable(#ERRORCODE)))
    In case it is required to treat the individual comma separated values in #ERRORCODE as number use the to_number function.
    SELECT DISTINCT QueueName FROM ErrorCodeDetails where priority= (select min (priority) from ErrorCodeDetails where ErrorCode In(select to_number(csv) from xmltable(#ERRORCODE)))
    In case this helps , please mark the answer as correct/helpful.
    Regards.

Maybe you are looking for

  • Xf86-video-intel problems (resolution, DRI) [SOLVED]

    I updated to day the xf86-video-i810 to the new *-intel driver and I encountered 2 problems. I have an old 845G card and an old CRT monitor that I use at 1024x786. Problem 1: Incorrect resolution The new native modesettings automatically reads the DC

  • How to apply template page to all pages except for logon page?

    Hi, I created a template page with id 0 that contains some copyright and other basic information of my application. Is there a way to apply this to all pages within my application except for the logon page? Regards, Tamas

  • How to retrieve DSN's in java

    Hi, Is it possible to retrieve a list of the ODBC DSN's (Data Source Name's) created on my local machine(XP-Pro) without using JNI?

  • Safari won't open.  using librooksbas.dylib plug in at time.

    Process:     Safari [4692] Path:        /Applications/Safari.app/Contents/MacOS/Safari Identifier:  com.apple.Safari Version:     7.0.3 (9537.75.14) Build Info:  WebBrowser-7537075014000000~6 Code Type:   X86-64 (Native) Parent Process:  launchd [164

  • Workspace and Web Analysis - null folder automatically created

    Hi. We have recently installed BI+ service pack 9.3.1.3. Since that, we have been experiencing problems on Workspace and Web Analysis: in particular, a null folder is automatically created as users login to Web Analysis Studio. Moreover, it is not po