Annotations in EBS Composite

Hi,
Do we have to annotate the EBS Composite? If yes what are the annotation details that have to be given in the EBS composite?
I have been following the AIA Development Guide. In Chapter 10 section 10.3.1 it is written that Annotations should be done but in Chapter 9 (Annotating the composites) there is nothing mentioned about annotating the EBS Composite.
I want to mention another point...in chapter 10 section 10.3.3 in Annotating Service interface it says thatsections of WSDl allow documentation where the details of the sections can be annotated but i haven't noticed any section for annotations in the EBS wsdls.
Edited by: user13263578 on Nov 3, 2010 10:31 PM

Hi,
You don't need to annotate EBS, it is because EBS shipped wsdls contains the information required for harvesting the composite and generating deployment plans. For other services like ABCS, Transport adapters need to be annotated in order to provide information required for harvesting then generating rdeployment plans.
If the ABCS is generated using SC (Service Constructor) then the annotations will be populated by SC. Other service types need to be explicitly annotated.
Regards,
Narayana

Similar Messages

  • SOA suite composite interdependency

    Hi All,
    I am facing a typical problem. We have AIA FP on top of SOA suite 11g (11.1.1.5). Here when we call a provider ABCS ( a BPEL composite) from EBS (a mediator composite) rather than providing direct endpoint in the reference we refer the concrete WSDL from MDS. The reason is if after restart all EBS composite becomes disabled as it does not find the reference of provider ABCS (in many cases provider ABCS is loaded after EBS).
    This is working quite well for us. But lately I am seeing too many concrete WSDL are loaded in MDS. Where contents are same only endpoints are different.
    What is the best practice of managing this? is there any way we can manage the composite loading order during server restart?
    Regards

    Hi,
    The best practice is to keep the abstract WSDLs in MDS.
    During design time( while creating the EBS in jDeveloper ), refer the WSDL in MDS rather tha giving the endpoint directly.
    In composite.xml, give the actual endpoint.
    Find and example as below in composite.xml of an EBS where the provider name is InvokeIRUSyncProjectListPrimeveraProvABCS( The bold one is actual endpoint and the italic one is the one in MDS).
    <reference name="InvokeIRUSyncProjectListPrimeveraProvABCS"
    ui:wsdlLocation="+oramds:/apps/KACST/AIA/WSDL/ABCS/PRIMAVERA/IRUSyncProjectListP6ProvABCSImpl.wsdl+">
    <interface.wsdl interface="http://xmlns.oracle.com/ABCSImpl/P6/Core/IRUSyncProjectListP6ProvABCSImpl/V1.0#wsdl.interface(IRUSyncProjectListP6ProvABCSImpl)"/>
    <binding.ws port="http://xmlns.oracle.com/ABCSImpl/P6/Core/IRUSyncProjectListP6ProvABCSImpl/V1.0#wsdl.endpoint(IRUSyncProjectListP6ProvABCSImpl/IRUSyncProjectListP6ProvABCSImpl_pt)"
    location="*http://taisirsit.kacst.edu.sa:8001/soa-infra/services/aia-abcs-P6/IRUSyncProjectListP6ProvABCSImpl/IRUSyncProjectListP6ProvABCSImpl?WSDL*"
    soapVersion="1.1">
    <property name="weblogic.wsee.wsat.transaction.flowOption"
    type="xs:string" many="false">WSDLDriven</property>
    </binding.ws>
    </reference>
    If u follow the process above, there will be no problem during restart of servers.
    Kindly note that always keep the ABSTRACT wsdl in MDS rather than concrete one

  • AIA FP 11.1.1.3 - Deployment Plan Generation for migrating from Dev to Test

    Hi All,
    Can you please validate the following from a Deployment from Dev to Test perspective. We have almost completed the development for an interface using AIA 11g, and are in the process of moving the interface from one instnace to another, and any help is highly appreciated.
    Let us the take Purchase Order Integration between a legacy application and Oracle Purchasing, File Adapter-> Requester ABCS -> EBS -> Provider ABCS -> DB Adapter, which is a classical flow.
    1. The Functional person defines a project in the Project Life Cycle Workbench
    2. Functional decomposition done through Purchase Prder Business Task, and Service Solution components for each composite in the classical flow
    3. The ABCSs are created by linking the corresponding Service Solution Components from the LCW using Service Contructor. These composite.xmls will have the annotation populated by the Service Constructor. It is okay for these composites to have concrete wsdls during development phase, but the concreate ones have to be replaced with abstract ones before geenrating deployment plans.
    4. The EBS is not changed, it will have the annotations prepopulated, and there is no need to add any annoations to them
    5. The File Adapter and DB Adapters (Transport Adapters?) have to be annotated based on the developer guide
    6. The xsds and wsdl go into the mds based using the scripts provided. Any other common components can also be placed into MDS.
    7. Once the development is done, Harvest the composites using the AIA Harvester.
    8. After harvesting, from the AIA LCW, Generate the BOM. If we harvest all the 5 composites for the Business Task together, and do Generate BOM, does it capture all the composites? Or do they capture only the composites created using the Service Constructor? Or we have to add all the compistes manually to the Business Task?
    9. Add Harvested Contents by Editing the BOM -> "Search and Add Existing Composite" option. We couldnt locate the "Add Harvested Composite" option while right clicking the Business Task.
    10. Once all the harvested composites have been added to the BOM, export as XML
    11. Using the BOM, generate the DeploymentPlan. The deployment plan will have references to the xsds and wsdls in the MDS
    12. Using the Deployment Plan and AID, deploy the composites into a new instanec.
    These are the questions I have,
    1. Is the above understanding correct?
    2. Since the MDS is in the Dev database, a pre-requisite for AID seems to be deployment of xsds and wsdls into the Test MDS schema. Can you please validate?
    3. What happens to the bpels, xsls, mplans etc? How do they move from one instance to another?
    Regards,
    Anish

    Hi Anish,
    Following are the responses -
    These are the questions I have,
    1. Is the above understanding correct?
    1. The Functional person defines a project in the Project Life Cycle Workbench - Yes
    2. Functional decomposition done through Purchase Prder Business Task, and Service Solution components for each composite in the classical flow - Yes
    3. The ABCSs are created by linking the corresponding Service Solution Components from the PLWB using Service Contructor. These composite.xmls will have the annotation populated by the Service Constructor. It is okay for these composites to have concrete wsdls during development phase, but the concreate ones have to be replaced with abstract ones before geenrating deployment plans.-Yes but location attribute in binding.ws section of composite.xml should always have concrete WSDL location.Use <replaceToken> in DeploymentPlan to replace the ip and port.
    4. The EBS is not changed, it will have the annotations prepopulated, and there is no need to add any annoations to them - Yes
    5. The File Adapter and DB Adapters (Transport Adapters?) have to be annotated based on the developer guide-Yes
    6. The xsds and wsdl go into the mds based using the scripts provided. Any other common components can also be placed into MDS.- Yes
    7. Once the development is done, Harvest the composites using the AIA Harvester.-Yes
    8. After harvesting, from the AIA PLWB, Generate the BOM. If we harvest all the 5 composites for the Business Task together, and do Generate BOM, does it capture all the composites? Or do they capture only the composites created using the Service Constructor? Or we have to add all the compistes manually to the Business Task?-The 5 composites created by you should have a corresponding service solution component defined.When you define a service solution component in PLWB then a GUID is generated in the database table.You need to retrieve that value and manually enter in the annotation section of composite.xml except for ABCS.Then only the BOM will contain information on all the composites.
    9. Add Harvested Contents by Editing the BOM -> "Search and Add Existing Composite" option. We couldnt locate the "Add Harvested Composite" option while right clicking the Business Task.*-Once you harvest it will be visible.*
    10. Once all the harvested composites have been added to the BOM, export as XML - Yes
    11. Using the BOM, generate the DeploymentPlan. The deployment plan will have references to the xsds and wsdls in the MDS - Yes
    12. Using the Deployment Plan and AID, deploy the composites into a new instance.-Yes
    2. Since the MDS is in the Dev database, a pre-requisite for AID seems to be deployment of xsds and wsdls into the Test MDS schema. Can you please validate?
    Yes the 'UpdateMetaData' section under 'Configurations' in the DeploymentPlan will upload XSDs, WSDLs, DVM,Xrefs into MDS.
    3. What happens to the bpels, xsls, mplans etc? How do they move from one instance to another?
    The 'Deployments' section will deploy the project into server and write the information into MDS.
    Rgds,
    Mandrita

  • WSDLException: faultCode=INVALID_WSDL: Error reading import from oramds

    Hi,
    We are currently facing a strange problem. We have two composites that needs to be deployed on to the 11g SOA server.
    composite A and composite B. A is a dependent composite of composite B and we are referring the WSDL of composite B in composite A using oramds.
    Our oramds is pointing to DB based metadata repository and for the deployment time there is no issue encountered. Also during the deployment time we follow the order like deploy B and then deploy A. But when we need to restart our SOA Server , after restarting we see that though composite B is up and running state but composite A goes in pending state. Not able to diagnose the issue. Please note that the after the sucessful deployment both the composites are coming as up and running state. Below is the error we encountered in SOA diagnostic log .
    ####<Aug 31, 2010 1:00:09 PM EST> <Notice> <WebLogicServer> <serverhost> <WLS_SOA1> <[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1283223609404> <BEA-000332> <Started WebLogic Managed Server "WLS_SOA1" for domain "soadev1_domain" running in Development Mode>
    ####<Aug 31, 2010 1:00:13 PM EST> <Notice> <WebLogicServer> <serverhost> <WLS_SOA1> <main> <<WLS Kernel>> <> <> <1283223613150> <BEA-000365> <Server state changed to RUNNING>
    ####<Aug 31, 2010 1:00:13 PM EST> <Notice> <WebLogicServer> <serverhost> <WLS_SOA1> <main> <<WLS Kernel>> <> <> <1283223613152> <BEA-000360> <Server started in RUNNING mode>
    ####<Aug 31, 2010 1:00:33 PM EST> <Error> <oracle.integration.platform> <serverhost> <WLS_SOA1> <weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@2d6d72f7> <<anonymous>> <> <> <1283223633787> <SOA-20020> <Deployment of composite "CreateDisbursedPaymentJDEGlobalReqABCSImplV1" failed: [JCABinding] [CreateDisbursedPaymentJDEGlobalReqABCSImplV1.WriteBOFAFileDetails/1.0]Unable to complete load due to: javax.wsdl.WSDLException: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503: javax.wsdl.WSDLException: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503.>
    ####<Aug 31, 2010 1:01:23 PM EST> <Error> <oracle.integration.platform> <serverhost> <WLS_SOA1> <weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@2d6d72f7> <<anonymous>> <> <> <1283223683770> <SOA-20020> <Deployment of composite "UpdateDisbursedPaymentWBCReqABCSImplV1" failed: [JCABinding] [UpdateDisbursedPaymentWBCReqABCSImplV1.Delete_CO_DELETE_WSTP_DATA/1.0]Unable to complete load due to: javax.wsdl.WSDLException: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503: javax.wsdl.WSDLException: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503: WSDLException: faultCode=INVALID_WSDL: Error reading import of oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverhost:port/soa-infra/services/default/DisbursedPaymentEBSV1/DisbursedPaymentsEBSV1_ep?WSDL: HTTP connection error code is 503.>
    Appreciate a response.
    Thanks
    Soumya

    Thanks both of you for your response.
    @user13268867: Yes. I am using Stored Procedure.But The same thing is used in Provider as well. But EBS is not going in pending state.
    There is no migration as you mentioned. It is pure development from scratch on AIA 11gR1.
    @Pavan :
    Please find the dependency in the composite.
    In the Requestor:
    <reference name="DisbursedPaymentEBSV1"
    ui:wsdlLocation="oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/EnterpriseServices/Core/DisbursedPayment/V1#wsdl.interface(DisbursedPaymentEBS)"/>
    <binding.ws port="http://xmlns.oracle.com/EnterpriseServices/Core/DisbursedPayment/V1#wsdl.endpoint(DisbursedPaymentEBSV1_ep/DisbursedPaymentEBS_pt)"
    location="oramds:/apps/AIAMetaData/Banking/wsdl/DisbursedPaymentEBSV1.wsdl"/>
    </reference>
    In the EBS:
    <reference name="DisbursedPaymentBOFAProvABCSImplV1Service"
    ui:wsdlLocation="http://host:port/soa-infra/services/default/DisbursedPaymentBOFAProvABCSImplV1/DisbursedPaymentBOFAProvABCSImplV1.wsdl">
    <interface.wsdl interface="http://xmlns.fostersgroup.com/intg/COBankOfAmerica/DisbursedPaymentBOFAProvABCSImplV1#wsdl.interface(DisbursedPaymentBOFAProvABCSImplV1)"/>
    <binding.ws port="http://xmlns.fostersgroup.com/intg/COBankOfAmerica/DisbursedPaymentBOFAProvABCSImplV1#wsdl.endpoint(DisbursedPaymentBOFAProvABCSImplV1Service/DisbursedPaymentBOFAProvABCSImplV1_pt)"
    location="http://host:port/soa-infra/services/default/DisbursedPaymentBOFAProvABCSImplV1/DisbursedPaymentBOFAProvABCSImplV1Service?WSDL"/>
    </reference>
    When the EBS is up after restarting the server but Requestor is not.
    Please note that in the EBS composite I have referred the Provider WSDL directly using Server URL where as in the Requestor i have provided the Oramds path reference of the EBS runtime WSDL.
    Thanks
    Soumyajit

  • Annotations in Database Adapter Composite

    Hi,
    Below is the snippet of the DB adapter composite annotation:-
    <!--<svcdoc:AIA>
    <svcdoc:Service>
    <svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType>
    <svcdoc:ServiceOperation>
    <svcdoc:Name>receive</svcdoc:Name>
    </svcdoc:ServiceOperation>
    <svcdoc:TransportDetails>
    <svcdoc:DBAdapter>
    <svcdoc:ResourceProvider>OracleDB</svcdoc:ResourceProvider>
    <svcdoc:ConnectionFactory>eis/DB/HREmployeeInterfaceTblConn</svcdoc:ConnectionFactory>
    <svcdoc:ApplicationName>Ebiz</svcdoc:ApplicationName>
    <svcdoc:XAEnabled>True</svcdoc:XAEnabled>
    <svcdoc:ResourceTargetIdentifier>aia_interface</svcdoc:ResourceTargetIdentifier>
    <svcdoc:ResourceName>PER_ALL_PEOPLE_F_INT</svcdoc:ResourceName>
    </svcdoc:DBAdapter>
    </svcdoc:TransportDetails>
    </svcdoc:Service>
    </svcdoc:AIA>-->
    Here we are giving the Connection Factory details but there is no details regarding neither tha data source(the database details). So while deployment plan generation by just giving the connection factory details is enough or how is the deployment plan supposed to generate the JDBC details?

    There is a file, AIAInstallProperties.xml, at $AIAHome/aia_instances/$instance_name/config , which is installed on the server where you have installed the Foundation pack.
    During PIP installation, you would give the target server details and this file gets updated with the target server information.
    When you are installing your AIA content on a different server, you need to customize this file, making it point to the server on which you would want the deployment to happen.
    Deployment plan does not generate JDBC details - AIA Installation Driver will take inputs from AIAInstallProperties.xml during deployment.

  • Download of prepackaged composites for the integration of OTM and EBS

    Hi,
    Can anybody help me out where I can download the latest version of prepackaged composites for the integration of EBS and OTM.
    Thanks in advance.
    Regards,
    Sarala

    Wahid,
    Do you have any step by step guide,How to integrate this?
    I want to check check the process how you have done that?
    Thanks,

  • Annotations in JMS Adapter Composite

    Hi,
    While Annotating A JMS Adapter Composite we give details of the connection factory. While deploying to another environment based on Deployment Plan how then is the queue created on the other server?
    Below is the Annotated PArt for the jms
    <!--<svcdoc:AIA>
    <svcdoc:Reference>
    <svcdoc:ArtifactType>TransportAdapter</svcdoc:ArtifactType>
    <svcdoc:ServiceOperation>
    <svcdoc:Name>Consume_Message</svcdoc:Name>
    </svcdoc:ServiceOperation>
    <svcdoc:TransportDetails>
    <svcdoc:JMSAdapter>
    <svcdoc:ResourceProvider>WLSJMS</svcdoc:ResourceProvider>
    <svcdoc:ConnectionFactory>eis/jms/WlsJmsConnect</svcdoc:ConnectionFactory>
    <svcdoc:XAEnabled>True</svcdoc:XAEnabled>
    <svcdoc:ResourceType>Queue</svcdoc:ResourceType>
    <svcdoc:ResourceName>jms/aia/HREmployeeQueue</svcdoc:ResourceName>
    </svcdoc:JMSAdapter>
    </svcdoc:TransportDetails>
    </svcdoc:Reference>
    </svcdoc:AIA>-->
    Regards,
    Sourav

    Sourav,
    the deployment plan generator will take care of adding the required instruction to the deployment plan to create the JMS queue. But not only that, it will also add an instruction to create the JMS connection factory and the outbound connection pool (eis/jms/WlsJmsConnect) in the JMS resource adapter as well. So everything that is needed at runtime is covered.
    Note, that the ResourceName annotation should simply state the name of the queue:
    <svcdoc:ResourceName>HREmployeeQueue</svcdoc:ResourceName>
    Check the Development Guide for more details.
    Gerhard

  • Access EBS WebServices by SOA Composite Editor

    Hey all,
    I want to access EBS Adapter WebServices using another APPS database user [eg: APPSSOA].
    I have granted db objects from APPS schema to APPSSOA user, but when I used APPSSOA to browse from Application Module Browser, there are empty with no one object that can be used.
    What the other step must I do?
    Regards
    Tejono

    it is jdeveloper Studio Edition Version 11.1.1.5.0, i guess if its not the correct version SOA editor would not appear in the update list when I do check for updates.
    Do i need to do anything like install other software? I have been at it for days but I can seem to make any progress.

  • Annotations in Axis2

    Is Annotation based webservice creation supported in any version of Axis2?
    -Sandeep

    Hi,
    You don't need to annotate EBS, it is because EBS shipped wsdls contains the information required for harvesting the composite and generating deployment plans. For other services like ABCS, Transport adapters need to be annotated in order to provide information required for harvesting then generating rdeployment plans.
    If the ABCS is generated using SC (Service Constructor) then the annotations will be populated by SC. Other service types need to be explicitly annotated.
    Regards,
    Narayana

  • DPL and composite pattern

    Hello...using DPL, JE (3.1.0), and trying to come up with a design that fits the following mold:
    @Entity
    public class Thing {
       @PrimaryKey
       long id;
       @SecondaryKey(relate=MANY_TO_ONE)
       int thingTypeId;
       // how to link this to thing attribute model below?
       List<ThingAttribute> thingAtts = new ArrayList<ThingAttribute>( );
    }Thus, a Thing can have a list of attributes. A thing has a unique id (primary key), and a thing has a thing-type id...and there can be many instances of that thing-type, so it is MANY_TO_ONE.
    Now, a ThingAttribute follows the Composite Pattern...as below. I took a stab at annotations here, but I'm not sure it seems correct:
    @Persistent
    public abstract class AbstractThingAttribute {
       /* only simple attribute subclass has an id -- composite subclass does not
        * so we add a sequence here
       @PrimaryKey(sequence="ID")
       long id;
       // thing type id
       @SecondaryKey(relate=MANY_TO_ONE)
       int thingAttributeType;
    @Entity
    public class SimpleThingAttribute<T> extends AbstractThingAttribute {
      // unique id
      @SecondaryKey(relate=ONE_TO_ONE)
      long id;
      // generic type value
      T value;
    @Entity
    public class CompositeThingAttribute extends AbstractThingAttribute {
      // this is a recursive-definition relationship; not sure how to deal with DPL?
      // list of children
      List<ThingAttribute> children = new ArrayList<ThingAttribute>( );
    }As an aside, there is an interface for ThingAttribute, SimpleThingAttribute, and CompositeThingAttribute...this is not too relevant for this example, but Simple/Composite interfaces extend the ThingAttribute interface.
    Q1) If I create a new Thing object, and I want to persist it, it is clear to me how it works for the primary secondary key here, but how do I annotate the ThingAttribute hierarchy such that it gets persisted along with the Thing object? I guess this boils down to a couple things:
    a) how to treat the thingAtts ArrayList in a Thing object itself so it gets persisted?
    b) now, i have a list of objects, where each entry in the list follows the structure of the composite pattern. how should i approach annotating this model?
    Thanks in advance,
    Davis

    Hi Davis!
    Q1) If I create a new Thing object, and I want to
    persist it, it is clear to me how it works for the
    primary secondary key here, but how do I annotate the
    ThingAttribute hierarchy such that it gets persisted
    along with the Thing object? I guess this boils down
    to a couple things:
    a) how to treat the thingAtts ArrayList
    in a Thing object itself so it gets persisted?You just embed the thingAttrs object (as you have) in the entity. As long as the class is @Persistent (or a simple type) you can persist arbitrarily complex graphs of objects. The thin to remember is that it is stored as one object graph per entity, indexed by primary key and optionally by one or more secondary keys.
    b) now, i have a list of objects, where each entry
    in the list follows the structure of the composite
    pattern. how should i approach annotating this
    model? Don't annotate the embedded objects with @Entity, just with @Persistent. @Entity is only used when you want a separate PrimaryIndex. Objects embedded inside an entity are annotated with @Persistent only.
    So when you have multiple objects you can use either embedding or relationships. With embedding, the object graph for the entire entity is stored in a single record.
    With relationships, you store the keys of one entity as a field in the other entity, and you annotate that field with @SecondaryIndex(relate=..., relatedEntity=...). With relationships, you have to get the related object yourself via its own PrimaryIndex.
    Hope this helps,
    Mark

  • Null in Composite Primary Key and "Primary keys must not contain null"

    Hello all.
    I'm a newbie concerning to JPA/EJB3, but I was wondering if toplinks doesn't support composite primary keys with null in some field (something perfectly right in any RDBMS).
    I used JDeveloper (I'm using Oracle 10g database and JDeveloper 10.1.3.2.) wizards to generate JPA classes and I checked out generated files (with annotations), so they should be right (by the way, other O-R mappings for my model are working right, but this one).
    I'm getting the next error:
    Exception Description: The primary key read from the row [DatabaseRecord(
         TSUBGRUPOSLDI.CD_GRUP => 01
         TSUBGRUPOSLDI.CD_SUBGRUP => null
         TSUBGRUPOSLDI.CG_POBL => 058
         TSUBGRUPOSLDI.CG_PROV => 28
         TSUBGRUPOSLDI.DSCR => Sanidad)] during the execution of the query was detected to be null. Primary keys must not contain null.
    Compound primary key is (CD_GRUP, CD_SUBGRUP). No foreign keys, no joins (only a NamedQuery: "select o from ..."). It's the simplest case!
    I checked out that everything runs ok if there's no "null" value in CD_SUBGRUP.
    After some research (this and other forums) I'm beginning to believe that it's not supported, but not sure.
    Am I doing sth wrong? If not, what is the reason to not support this? Will it be supported in the future?
    Thanks in advance.

    Null is a special value and in many databases is not comparable to another null value (hence the isNull operator) and may pose problems when used to uniquely identify an Entity. TopLink does not support null values within a composite PK. As the nullable column is most likely not designated as a PK within your database table (many databases do not allow this) I recommend updating the Entity PKs to match that of the database.
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Composite Key in Toplink Mapping File - equivalent to Hibernate?

    Hi,
    I have a POJO TestEntity which refers to primary key TestEntityKey. In Hibernate mapping hbm file, we define the entry as:
              <composite-id name="id" class="TestEntityKey">
                   <key-property name ="testEntityCode" column = "TEST_ENT_CODE" type = "string" />
              </composite-id>
    Please confirm how to create the composite id in Toplink means kindly help that how to map my id to key:
    <opm:primary-key>
         <opm:attribute-name>id</opm:attribute-name>
    <opm:field table="TEST_ENTITY_B" name="TEST_ENT_CODE" xsi:type="opm:column"/>
    </opm:primary-key>
    Thanks!

    Hey.. Thanks!
    I am clear about the concept about defining annotation based composite key. Also, I read in the documentation that I'll be needing to define as direct, aggregate or one-to-one. But, I am not able to define and run the same in the project mapping xml of toplink.
    It would be great if you can share some sample code for defining the same. For e.g. in my mentioned example, there is TestEntity POJO having 'id' as the attribute which gets populated with the testEntityCode of the TestEntityKey POJO. Please suggest the same for the same:
    <opm:primary-key>
    <opm:attribute-name>id</opm:attribute-name>
    <opm:field table="TEST_ENTITY_B" name="TEST_ENT_CODE" xsi:type="opm:column"/>
    </opm:primary-key>
    Thanks!

  • Not able to integrate SOA Suite with EBS using Oracle APPS Adapter

    Hi,
    We need to listen to outbound business events of Oracle EBS using BES via Oracle APPS Adapter.
    We have created a composite containing Oracle Application Adapter and BPEL Process.
    In Apps adapter when configured Outbound Business events "oracle.apps.bom.component.modified" using Dequeue Operation,a corresponding subscriber is created in WF_BPEL_Q for respective event selected.
    In Oracle EBS
    for "oracle.apps.bom.component.modified" status is enabled and in subscription WF_BPEL_QAGENT is there.
    When we are changing any BOM component in Oracle EBS Designer and saving it, a record is being created in "WF_BPEL_QTAB".
    BPEL Process( Oracle Apps Adapter Partner Link---> Recieve Actvity ) instances are not being created when any BOM component is being changed.
    Oracle Apps Adapter is not able to dequeue the data from WF_BPEL_QTAB.
    There is not any error/exception in oracle soa suite server logs for Oracle APPS adapter.
    SOA Diagnostics Logs are :
    [2012-07-04T08:55:51.304+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.bpel.engine] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] CubeServiceEngine=> initing default/Testr!4.0*soa_f1fe3bbc-1269-437c-a75f-1239da743fea/BPELProcess1
    [2012-07-04T08:55:51.304+05:30] [AdminServer] [NOTIFICATION] [] [oracle.integration.platform.blocks.deploy] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] Publishing deploy event for default/Testr!4.0*soa_f1fe3bbc-1269-437c-a75f-1239da743fea
    [2012-07-04T08:55:51.382+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> [Testr.bom_cm/4.0] :load Loading bom_cm_apps.jca ..
    [2012-07-04T08:55:51.390+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> bom_cm Performing JCAEndpointActivation::prepareActivation for {AppsEventSchema=ANY_SCHEMA, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.bom.component.modified', Consumer=ORA_8cpkad9l88sj0c9n8kq42ghm85, QueueName=WF_BPEL_Q, DatabaseSchema=APPS}
    [2012-07-04T08:55:51.391+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> bom_cm JCAEndpointActivation::prepareActivation - Locating JCA Binding Component instance: SCA_AS11R1
    [2012-07-04T08:55:51.397+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> JCABinding=> Instantiating inbound part of JCA Binding Component instance: SCA_AS11R1
    [2012-07-04T08:55:51.397+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> bom_cm JCAEndpointActivation::initiateInboundJcaEndpoint - Creating and initializing inbound JCA endpoint for:[[
    endpoint='bom_cm'
    WSDL location='oramds:/deployed-composites/default/Testr_rev4.0/bom_cm.wsdl'
    portType='DEQUEUE_ptt'
    operation='DEQUEUE'
    *activation properties={AppsEventSchema=ANY_SCHEMA, MessageSelectorRule=tab.user_data.event_name = 'oracle.apps.bom.component.modified', Consumer=ORA_8cpkad9l88sj0c9n8kq42ghm85, QueueName=WF_BPEL_Q, DatabaseSchema=APPS}*
    [2012-07-04T08:55:51.398+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> bom_cm JCAEndpointActivation::initiateInboundJcaEndpoint - Creating endpoint (0) for bom_cm
    [2012-07-04T08:55:51.407+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> bom_cm JCAEndpointActivation::prepareActivation - Done preparing JCAEndpointActivation for Service 'bom_cm'
    [2012-07-04T08:55:51.409+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> [Testr.bom_cm/4.0] :load Successfully loaded bom_cm_apps.jca
    [2012-07-04T08:55:51.410+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> [Testr.bom_cm/4.0] :init Initializing bom_cm_apps.jca
    [2012-07-04T08:55:51.410+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> bom_cm JCAEndpointActivation::performActivation - Performing JCA Endpoint Activation, Endpoint Id='bom_cm'
    [2012-07-04T08:55:51.410+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> bom_cm Performing endpoint activation (1) for bom_cm
    [2012-07-04T08:55:51.411+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> Testr JCA Binding Component instance: SCA_AS11R1 - endpointActivation for portType=DEQUEUE_ptt, operation=DEQUEUE
    [2012-07-04T08:55:51.416+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> Testr Creating new instance of Resource Adapter oracle.tip.adapter.apps.AppsResourceAdapter
    [2012-07-04T08:55:51.417+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> Testr JCA Binding Component instance: SCA_AS11R1 - starting Resource Adapter oracle.tip.adapter.apps.AppsResourceAdapter
    [2012-07-04T08:55:51.471+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] Oracle Applications Adapter Starting...AQResourceAdapter
    [2012-07-04T08:55:51.474+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] Oracle Applications Adapter Creating Endpoint...
    *[2012-07-04T08:55:51.482+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] Oracle Applications Adapter Activating Endpoint...*
    *[2012-07-04T08:55:53.782+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> Testr JCA Binding Component instance: SCA_AS11R1 - successfully completed endpointActivation for portType=DEQUEUE_ptt, operation=DEQUEUE*
    *[2012-07-04T08:55:53.783+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,0] [APP: soa-infra] JCABinding=> [Testr.bom_cm/4.0] :init Successfully initialized bom_cm_apps.jca*
    *[2012-07-04T08:55:53.783+05:30] [AdminServer] [NOTIFICATION] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@c8ccf1] [userId: weblogic] [ecid: 1ae79e0a6c47b292:-ec3eb:1384ffb303d:-8000-0000000000000312,1:30342] [APP: soa-infra] Dequeue Agent activated....*
    Regards,
    Abhinav Gupta
    Edited by: Abhinav on Jul 5, 2012 9:56 AM

    We would like to capture a few business events in oracle BOM and PO that are of interest to us. In order to do this,
    we deploy oracle SOA composite with BEPL in the Oracle Fusion Middleware Control. The oracle SOA composite is configured for a particular outbound business event. It should listens on a specific queue WF_BPEL_Q or WF_BPEL_QTAB and de-queues the messages from that Oracle Queue or Oracle AQ Table. In jDeveloper 11g we created a SOA project with oracle applications adapter partner link and a receive.
    Specifically we are trying to capture the business outbound event oracle.apps.bom.component.modified just to get the event data in this receive.
    Partner link configuration: We added the database connection to the oracle EBS instance. Tested it and we
    succeded. Chose ANY_SCHEMA in partner link configuration.
    We ensured that the JNDI Name here( eis/Apps/Apps ) match the JNDI name provided in the weblogic-->Deployments--
    OracleAppsAdapter -->Configuration --> Outbound Connection Pools. For this outbound resource pool, Connection factory interface was javax.resource.cci.ConnectionFactory. Property name xADataSourceName was mapped to JNDI name of the configured JDBC datasource in the weblogic. When we created the connection pool. We tested and it worked fine. This data source had the connection pool configured to the oracle applications schema with APPS user.
    After adding the partner link with the above configuration, we added a receive. We deployed this configuration to the middleware. We went to the oracle EBS modified a BOM component and we expected to having running BPEL instances against the deloyed composite. However, the problem is we are not having any running instance for the composite.
    We found that there are entries in the view AQ$WF_BPEL_QTAB with an ENQ_TIME and ENQ_TIMESTAMP but with no DEQ_TIME or DEQ_TIMESTAMP. The ENQ_TIMESTAMP corresponds to the time we modified BOM in oracle BOM forms/Designer
    The data is being written in WF_BPEL_QTAB for the BOM changes but not being dequeued by oracle applications adapter/composites deployed in soa server.
    Please help me it quite urgent.
    Is there anything we are missing on EBS side to be activited. for the events to be dequeued
    Any Help is appreciated.
    Abhinav

  • Code Generation Using Annotation Processing

    I'm trying to figure out how to do something like thus:
    Given this source file with the following custom annotation:
    @Composite(interfaces=Mammal.class)
    public class Dog implements IComposite
    };I want to create an annotation processor that inserts a data member, implementation into the constructor, and a public method into this class:
    @Composite(interfaces=Mammal.class)
    public class Dog implements IComposite
        IComponent[] m_inner_objects;
        public Dog()
            m_inner_objects = new IComponent[1];
            m_inner_objects[0] = Mammal.compose(this);
        public IComponent getComponent(Class<?> inInterface)
            if(inInterface == Mammal.class)
               return m_inner_objects[0];
            return null;
    };Are all three tasks possible? Are any of the three tasks possible? If yes to any of my questions how would I go about this. I've gotten just past the 'hello world' state in writing a custom annotation processor so I just need the more advanced knowledge of how to actually affect the code once I'm actively processing it.
    cheers,

    brucechapman wrote:
    sednivo wrote:
    I can get the CompilationUnitTree. Yes
    Then I can modify it with Compiler Tree API.Really?
    Where is a pitfall in my train of thought?The Tree API is an immutable API, you can look, but not modify.Here is example of modifying compiler tree.
    http://svntrac.hanhuy.com/repo/browser/hanhuy/trunk/panno/src/com/hanhuy/panno/processing/PropertyProcessor.java
    Also, the javax.annotation.processing.Filer will not allow you to overwrite an existing compilation unit, and you must use the Filer if you wish a generated class to be compiled in the next round.I don't use Filer class. Method writeCompilationUnit that I've wrote works well for existed files.
    There is a fundamental principle of java that the same program always has the same meaning. See the 3rd paragraph of the Preface to the first edition of the Java Language Spec . >This is the reason why you can't modify existing source code.We can mark generated methods in a class with @Generated annotation.

  • Oracle apps Adapter for EBS group event

    Hi
    I am working on EBS - OTM integration through SOA.
    I have configured EBS group event in SOA through Oracle apps adapter but it is not creating instance on EM for same composite eventhough records are getting enqueued in EBS queue.
    EBS version - 12.1.1
    SOA version - 11.1.1.7
    If anybody faced same issue please help me to resolve this.
    Thanks
    Renu

    We also have same requirement. We have BPEL connection using custom oracle user, xx_b2b and when we use APPS adapter, I can not see and use any business event.
    If anybody across same requirement, please share your experience.
    Appreciate help on this.
    Thanks,
    Sonartori

Maybe you are looking for

  • Phone is not working after the new update

    Hi everyone i have a problem i put the new update on my iphone 4 and now i can't receive any text messages. I went into Imessages everything is turned on. But its not activating. Changed my apple ID 3 times and the phone was also reset any advice wou

  • WRT54G how to get a open NAT?

    I have a WRT54G and it is not even possible to get a true open NAT with it for the xbox 360. I have tried port forwarding, DMZ, UPnP and just about everything else but nothign works. I can't seem to find a match of Call of Duty 4 online at all with t

  • Issue with Proximity Sensor during calls - Continued v2

    This thread is a continuation of Issue with Proximity Sensor during calls - Continued. which was getting too long and causing some browsers to time out. That thread has been locked and the last post links to this thread. See also the initial thread I

  • Adobe lifecycle rights management credentials

    what are adobe lifecycle rights management credentials? I need a user and password to view my online transscipt, but I am unable to do so

  • Cannot Export Versions with Aperture 3.3

    After upgrading to Aperture 3.3, I lost the ability to Export Versions of my files. Exporting Originals works just fine, but I need to I export jpegs for my work. What I end up getting now is a jpg with a totally black image. The metadata is intact a