ADF BC VO based on PL/SQL-API

Hi,
We have the following scenario.
It exists a PL/SQL-API in the database which return a rowtype (the function must not be modified). These data are displayed in the GUI.
FUNCTION get_rec(p_parm IN table.column%type) RETURN table%rowtype;We found no declarative solution to create a ADF VO or ADF EO on a PL/SQL-API.
In the documentation "38.5 Basing an Entity Object on a PL/SQL Package API" the combine a db-view for reading (R) and pl/sql-api for the DML (CUD).
On solution would be to define a SQL Type for this scenario, and add a new PL/SQL-function (because the orginal function must not be modified) which returns the type.
FUNCTION get_rec(p_parm IN table.column%type) RETURN OUR_SQL_TYPE;Then we can use a statment like SELECT * FROM TABLE(pkg_x.get_rec(:param)) in the ADF BC VO.
Note:
We found [url https://database-api-based-adf-bc.samplecode.oracle.com/]database-api-based-adf-bc. but "Last Updated: Nov. 10, 2009 and Current Version:     0.2b" does not sound very encouraging.
And [url http://technology.amis.nl/blog/3315/creating-an-adf-application-based-on-plsql-api-part-one-reading-data-as-a-collection-of-sql-type-objects]adf-application-based-on-plsql-api. is a good blog-post too but adjustments in the database (SQL_TYPE, ...) must also be made.
Technologie: ADF 11g (Fusion Stack: ADF BC, ADF Faces)
Question: Is there a more elegant (declarative) solution for this problem without making the request to change the code DB?
Best Regards
Martin

Martin, I've tried several of the strategies that you've mentioned, and the one I liked best was to write a new function to translate the rowtype to a nested table of object type so that you can create a VO that is a SELECT from TABLE. More work on the database side, but the VO is declarative. There really isn't much better because a PL/SQL record is only usable within PL/SQL.
John, I have used JPublisher which works well to create POJOs that execute PL/SQL functions and that represent database objects created with CREATE TYPE. It even generates the DDL and PL/SQL code that would be needed to create the object types to mirror PL/SQL record types. But you still have to write some code to integrate the generated code into ADF BC. In particular, the constructors for the POJOs take a Connection as an argument - obviously, you can't run PL/SQL without a connection to an Oracle RDBMS. So you usually want to instantiate the objects in an AM, which can provide a Connection. Not a bad tool - pretty useful for some scenarios, but still not as declarative as Martin (or I) would like.

Similar Messages

  • CurrencyString in JSP-page based on a sql-only ViewObject

    I have made a JSP-page based on a sql-only ViewObject against the hr employees table, and
    the currencyString on the page doesn't work! The <c:out value="${Row.currencyString}"/>
    makes a "*" on every row. How come that this only happens to sql-only ViewObjects? The sql
    in the view is simply "select * from employees", and I'm using the 10g production build 1605.

    You just have to make sure that the view object has a Key Attribute, then the indicator will show appropriately. The key is required so that currency can be tracked.
    This is documented in the help topic "About the Oracle ADF Bindings" in the section "About the Iterator Binding"

  • [Solved]Portal 10.1.4 - Request Help to Modify Item Name using PL/SQL API

    I have a region on a page that contains content items. These are PDF files that were uploaded. I want to know how I can programmatically change the description.
    I have been looking at both set_attributes() and modify_item_post_upload() functions in the API. Is this my best option, or is there an alternative.
    I have been leaning towards calling modify_item_post_upload(), but have a question on the parameters.
    I can get p_master_item_id, but what is p_item_id?
    I would like to call the method like this:
    declare
    l_masterid number;
    l_display_name varchar2(100);
    begin
    l_masterid := <some number);
    l_display_name := 'New Name for item';
    modify_item_post_upload(
    p_master_item_id => l_masterid,
    p_display_name => l_display_name
    end;
    So questions are:
    1. What modifications do I need for a simple call to change an items name?
    2. What additional functions/procedures do I need to call so the display gets updated with the new information? Do I have to clear the cache suing wxutils, or can I just call wwpro_api_invalidation.execute_cache_invalidation; ?
    If you want the "rest of the story" - I created a web front end in JDeveloper that allows specific end users to login, upload files, and delete items for a specific portal page containing content items. One of the common mistakes is a misspelling of the display name by the end user. So instead of deleting an item, then re-adding an item, the end user would like to edit the display name for just the item that has the misspelling. I have set this up in JDeveloper with an edit screen that contains just the display name. Now I need a function/procedure that I can call from the application module that will update just the display name for this particular item. I have already coded an ADF model that uses the search_item and converts the results into a result_set, and use that to create a View Object in the ADF for JDeveloper to use. Now to finish this user request, I just need to figure out the PL/SQL API part for modifying a display name. The item still needs to keep it's reference to the uploaded PDF file.
    Thanks, Ken

    Very nice! I like the code example. In looking at needing to change only the title of the item, I created a procedure that calls set_attribute. Here is the code:
    create or replace
    procedure update_newslinearchive_item (p_masterid in number, p_displayname in varchar2) as
    cursor items_cur(p_id IN NUMBER) is
    select * from wwsbr_all_items
    where masterid = p_id
    and caid = <pagegroup>
    and active = 1
    and is_current_version = 1
    and language = wwctx_api.get_nls_language;
    items_rec wwsbr_all_items%rowtype;
    begin
    dbms_output.put_line('masterid = ' || to_char(p_masterid));
    dbms_output.put_line('display_name = ' || p_displayname);
    -- Login to the portal for access to function calls
    wwctx_api.set_context('<username>','<password>');
    -- Verify that the item to be deleted is in the items table
    open items_cur(p_masterid);
    fetch items_cur into items_rec;
    if items_cur%found then
    dbms_output.put_line('record found');
    wwsbr_api.set_attribute(
    p_site_id => items_rec.caid,
    p_thing_id => items_rec.id,
    p_attribute_site_id => wwsbr_api.SHARED_OBJECTS,
    p_attribute_id => wwsbr_api.ATTRIBUTE_TITLE,
    p_attribute_value => p_displayname
    wwpro_api_invalidation.execute_cache_invalidation;
    dbms_output.put_line('Clearing Cache');
    -- Now clear the web-cache
    wxvutil.invalidate_reset;
    wxvutil.invalidate_uri('<server:port/path/to/page>,0,null);
    wxvutil.invalidate_exec('<server>',4001,'<webcache password>');
    else
    dbms_output.put_line('record NOT found');
    end if;
    close items_cur;
    exception
    when others then
    dbms_output.put_line('SQLCODE = ' || SQLCODE);
    dbms_output.put_line('SQLERRM = ' || SUBSTR(SQLERRM,1,200));
    if items_cur%isopen then
    close items_cur;
    end if;
    end update_newslinearchive_item;
    Thank you for the example for modify_item_post_upload!
    Ken

  • PL/SQL API for report 9i

    I am working with Report Builder 9.0.2.0.3 in Oracle 9ids. One of the new feature supposed to be Event Based Publishing through PL/SQL API but I am unable to locate this API. I wanr to call reports from a database package.
    Where is this API located and How can I call it? Is it with the Oracle 9i packages or in report builder?
    Sanjay

    Hi Sanjay,
    Please repost your question in the Reports forum - Reports
    Sujatha.
    http://otn.oracle.com/sample_code/content.html

  • PL/SQL API for report9i

    I am working with Report Builder 9.0.2.0.3 in Oracle 9ids. One of the new feature supposed to be Event Based Publishing through PL/SQL API but I am unable to locate this API. I want to call report from a database package.
    Where is this API located and How can I call it? Is it in 9i packages or in report builder.
    Sanjay

    See the Publishing Reports Manual:
    http://otn.oracle.com/products/reports/htdocs/getstart/docs/A92102_01/pbr_evnt.htm#1005593
    The SQL scripts for the installing the API into a database are located in the $ORACLE_HOME/reports/admin/sql/ directory.
    -Manish

  • Module component based on pl/sql procedure....

    Hi everyone,
    could anybody help me with step by step instructions on how to generate module component which is based on PL/SQL procedure and how the procedure must look like.
    Well, I make it in Forms Builder but I want to build it in oracle designer too, just to have consistent state of all forms in designer.
    Well, what to say at the end... thanks a lot for help,
    Zlatko

    I'm a user of the Web PL/SQL generator, not the Forms generator, so I was hoping that someone else would step in with some help for you. Seeing as no-one else gave this a try, here is my two cents worth:
    As far as I know, the module components based on a procedure expect to use the Table API (TAPI) packages, and I think they can optionally use the Module API (MAPI) packages. I think MAPI calls TAPI, so if you use MAPI, you must also generate TAPI. These are generated from the Design Editor, TAPI from the Table Definition. The Web PL/SQL generator REQUIRES the TAPI, so I'm very familiar with them. The on-line help has some good descriptions of TAPI.
    The advantage of using TAPI/MAPI instead of direct table updates from your Form is that TAPIs can enforce business rules at the database level, no matter how your table is updated, whether with Forms, Web PL/SQL or even SQL*Plus. They can also do trigger-like actions that would not be possible with actual database triggers (can you say, mutating table?) You might also want to use TAPI if you have both Forms modules and Web PL/SQL modules against the same table.
    Now - if someone with more Forms generator experience than I wants to chime in with a better answer, please do, especially if anything I said is wrong.

  • Creation an ADF Task Flow Based on a Human Task

    Hello!
    While creating ADF Task Flow Based on a Human Task, I can't bind New TaskFlow to task, which I choose in Dialog.
    Details:
    I Have:
    BPM Project with PackageCreation.task
    ADF Project in Same Application
    I do:
    1. in Application Navigator right click on ADF Project -> New -> Web Tier -> JSF -> ADF Task Flow Based on a Human Task
    in creation Dialog I choose PackageCreation.task and Don't change name of New TaskFlow (automatically JDeveloper set this name to PackageCreation_TaskFlow)
    I have After that:
    new ADF Task Flow and my old PackageCreation.task.
    Question:
    Why my Task don't bind to created ADF task Flow based on it?
    I think, that while creating ADF Task Flow Based on a Human Task it has to change my task, writing some thing like This (inside xml):
    <taskFlowFileLocation>file:/D:/JDeveloper/mywork/SalesQuoteLab/EnterQuoteUILab/public_html/WEB-INF/EnterQuoteDetails_TaskFlow.xml</taskFlowFileLocation>
    That xml element is creating in xml of *.task, while making auto-generation form for human task in BPM Project.

    Juan C,
    I use JDeveloper 11g Release 1.
    May be I didn't explained my question correctly.
    taskdetails1 is creating, and in Data Controls I have objects of my BPM Human Task Payload.
    But in that file "PackageCreation.task" in source I can't find any link to instantly created TaskFlow.xml in my UI project.
    So, I have
    NEW project "PackageCreationUI" with PackageCreation_TaskFlow.xml in it (and TaskDetails1 file too).
    AND Did't Changed PackageCreation.task in BPM Project.
    If I use *"BPM form creation wizard"*, after creating project and TaskFlow in it I see Changes in PackageCreation.task in BPM Project, something like that:
    <taskFlowFileLocation>file:/C:/JDeveloper/mywork/testApp/PackageCreationUI/public_html/WEB-INF/PackageCreation_TaskFlow.xml</taskFlowFileLocation>

  • PL/SQL API + Defaulting Rules in OM

    Hi,
    I want to default custom rule in Sales Order from whenever I select Item. After selecting item from the sales order from, it should populate Warehouse value in Shipping tab. I am using custom PL/SQL API option. I wrote one function and kept in package. I was disabled all defaulting rules. Now If I select Item in sales order form, I am not getting warehouse value.
    The steps are:
    Step 1. Select Warehouse attribute and define defaulting rule
    Application: Order Management
    Entry: Order Line
    Select Attribute as Warehouse
    Click on Defaulting Rules
    Step 2: Define Defaulting Sourcing Rule
    Select Source type as PL/SQL API.
    In the Defaulting Source/Value field give Package Name and Function Name.
    Open Catalog Groups window from the below path: Setup  Items  Catalog Groups
    Specify Name and Description for Catalog Group
    Click on Details button.
    Step 3: Create Catalog Group
    Step 4: Specify Descriptive Elements for the Item Catalog Group
    Step 5: Code preparation
    -- My Custom Code
    Create or replace FUNCTION custom_default_rule
    RETURN VARCHAR2
    AS
    l_line_type_rec oe_order_cache.line_type_rec_type;
    CURSOR cus_l
    IS
    SELECT a.organization_code, b.element_name, b.element_value
    FROM mtl_parameters a,
    mtl_descr_element_values b,
    mtl_system_items_b c
    WHERE b.inventory_item_id = c.inventory_item_id
    AND a.organization_id = c.organization_id
    AND a.organization_id = c.organization_id
    AND c.inventory_item_id = 12924
    GROUP BY a.organization_code, b.element_name, b.element_value
    ORDER BY a.organization_code, b.element_name, b.element_value;
    BEGIN
         l_line_type_rec := oe_order_cache.load_line_type
    (ont_line_def_hdlr.g_record.line_type_id);
    FOR cur_rec IN cus_l
    LOOP
    IF cur_rec.element_name IN
    ('Frequency',
    'Emission Norms',
    'Voltage',
    'Duty Rating',
    'Phase',
    'Product'
    AND cur_rec.element_value IN
    ('50', '', '230', 'Medium', 'Single', 'QSK60')
    THEN
    RETURN cur_rec.organization_code;
    ELSIF cur_rec.element_name IN
    ('Frequency',
    'Emission Norms',
    'Voltage',
    'Duty Rating',
    'Phase',
    'Product'
    AND cur_rec.element_value IN
    ('50', '', '230', 'Medium', 'Three', 'QSK15')
    THEN
    RETURN cur_rec.organization_code;
    ELSIF cur_rec.element_name IN
    ('Frequency',
    'Emission Norms',
    'Voltage',
    'Duty Rating',
    'Phase',
    'Productfamily'
    AND cur_rec.element_value IN
    ('50', '', '230', 'Medium', 'Single', 'DQK50')
    THEN
    RETURN cur_rec.organization_code;
    END IF;
    END LOOP;
    EXCEPTION
    WHEN OTHERS
    THEN
    IF oe_msg_pub.check_msg_level (oe_msg_pub.g_msg_lvl_unexp_error)
    THEN
    oe_msg_pub.add_exc_msg ('OE_Default_PVT', 'CUSTOM_DEFAULT_RULE');
    END IF;
    RAISE fnd_api.g_exc_unexpected_error;
    END custom_default_rule;
    Step 6: Create a Sales Order (Order Returns  Sales Orders)
    Select Customer and Order Type and select Line Items Tab.
    Select Item from the Ordered Item Field. Press Tab.
    After pressing tab in the Shipping Tab Warehouse value Should be populated. But it is not working.
    Can anyone guide me in this.
    It is very urgent.
    If possible, Please send u r details to my official id: [email protected]
    Thanks in Advance,
    sateesh

    Sateesh,
    This is working fine for me here:
    CREATE OR REPLACE PACKAGE xx_def_wh
    AS
    FUNCTION custom_default_rule (p_database_object_name IN VARCHAR2, p_attribute_code IN VARCHAR2)
    RETURN NUMBER;
    END;
    CREATE OR REPLACE PACKAGE BODY xx_def_wh
    AS
    FUNCTION custom_default_rule (p_database_object_name IN VARCHAR2, p_attribute_code IN VARCHAR2)
    RETURN NUMBER
    AS
    l_line_type_rec oe_order_cache.line_type_rec_type;
    l_item_id NUMBER;
    CURSOR cus_l(p_item_id in number)
    IS
    SELECT a.organization_id, b.element_name, b.element_value
    FROM mtl_parameters a, mtl_descr_element_values b, mtl_system_items_b c
    WHERE b.inventory_item_id = c.inventory_item_id
    AND a.organization_id = c.organization_id
    AND a.organization_id = c.organization_id
    AND c.inventory_item_id = p_item_id
    and a.organization_id<>a.master_organization_id
    ORDER BY a.organization_id;
    BEGIN
    l_line_type_rec := oe_order_cache.load_line_type (ont_line_def_hdlr.g_record.line_type_id);
    l_item_id:= ONT_LINE_DEF_HDLR.g_record.inventory_item_id;
    FOR cur_rec IN cus_l(l_item_id)
    LOOP
    IF cur_rec.element_name IN ('Frequency', 'Emission Norms', 'Voltage', 'Duty Rating', 'Phase', 'Product')
    AND cur_rec.element_value IN ('50', '', '230', 'Medium', 'Single', 'QSK60')
    THEN
    RETURN cur_rec.organization_id;
    ELSIF cur_rec.element_name IN ('Frequency', 'Emission Norms', 'Voltage', 'Duty Rating', 'Phase', 'Product')
    AND cur_rec.element_value IN ('50', '', '230', 'Medium', 'Three', 'QSK15')
    THEN
    RETURN cur_rec.organization_id;
    ELSIF cur_rec.element_name IN ('Frequency', 'Emission Norms', 'Voltage', 'Duty Rating', 'Phase', 'Productfamily')
    AND cur_rec.element_value IN ('50', '', '230', 'Medium', 'Single', 'DQK50')
    THEN
    RETURN cur_rec.organization_id;
    END IF;
    END LOOP;
    EXCEPTION
    WHEN OTHERS
    THEN
    IF oe_msg_pub.check_msg_level (oe_msg_pub.g_msg_lvl_unexp_error)
    THEN
    oe_msg_pub.add_exc_msg ('OE_Default_PVT', 'CUSTOM_DEFAULT_RULE');
    END IF;
    RAISE fnd_api.g_exc_unexpected_error;
    END custom_default_rule;
    END;
    Thanks
    Nagamohan

  • Read from sql task and send to data flow task - [OLE DB Source [1]] Error: A rowset based on the SQL command was not returned by the OLE DB provider.

    I have created a execut sql task -
    In that, i have a created a 'empidvar' variable of string type and put sqlstatement = 'select distinct empid from emp'
    Resultset=resultname=0 and variablename=empidvar
    I have added data flow task of ole db type and I put this sql statement under sql command - exec emp_sp @empidvar=?
    I am getting an error.
    [OLE DB Source [1]] Error: A rowset based on the SQL command was not returned by the OLE DB provider.
    [SSIS.Pipeline] Error: component "OLE DB Source" (1) failed the pre-execute phase and returned error code 0xC02092B4.

    shouldnt setting be Result
    Set=Full Resultset as your query returns a resultset? also i think variable to be mapped should be of object type.
    Then for data flow task also you need to put it inside a ForEachLoop based on ADO.NET recordset and map your earlier variable inside it so as to iterate for every value the sql task returns.
    Also if using SP in oledb source make sure you read this
    http://consultingblogs.emc.com/jamiethomson/archive/2006/12/20/SSIS_3A00_-Using-stored-procedures-inside-an-OLE-DB-Source-component.aspx
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • A rowset based on the SQL command was not returned by the OLE DB provider.

    Hi
    I am calling a stored procedure using ssis.
    i am creating a work table--temp in the procedure and using that to join and select columns from other tables.
    i am gettig the error
    [Positions [22612]] Error: A rowset based on the SQL command was not returned by the OLE DB provider.
    please help

    SET NOCOUNT ON 
    in the stored procedure and try again.
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • PL/SQL API for Creating Sales Order

    Hi,
    I am new to Oracle SOA 11g.
    I have done the Deleting Sales Order using PL/SQL API ( Oracle Apps Adapter ) [ API Name: OE_ORDER_PUB.DELETE_ORDER ] in SOA BPEL. While executing the BPEL, it is correctly deleting Sales Order in E Business Suite which is created in EBS User Interface. I don't face any problem while deleting the sales order.
    Now, in same way, I have to create a new Sales Order using PL/SQL API in SOA-BPEL. I don't find any API's related to creating Sales Order in Order Management Suite (OM_PF) -->Order Management (ONT) --> Sales Order (ONT_SALES_ORDER) --> PL/SQL --> Process Order API (OE_ORDER_PUB) in Module Browser.
    Please tell me which PL/SQL API to use to create new Sales Order in BPEL.
    Thanks,
    -- Gowtham
    Edited by: user8223943 on Feb 16, 2012 7:38 AM

    You may be on a different patch level. Can you ensure that you have applied all latest patches for your version?
    See sample code at http://jyotioraapps.blogspot.com/2009/08/use-of-oeorderpubprocessorder-to-create.html
    Hope this helps,
    Sandeep Gandhi

  • PL/SQL API for Creating Sales Order in E Business Suite from BPEL

    Hi,
    I am new to Oracle SOA 11g.
    I have done the Deleting Sales Order using PL/SQL API ( Oracle Apps Adapter ) [ API Name: OE_ORDER_PUB.DELETE_ORDER ]. While executing the BPEL, it is correctly deleting Sales Order in E Business Suite which is created EBS User Interface. I don't face any problem while deleting the sales order.
    Now, in same way, I have to create a new Sales Order using PL/SQL API. I don't find any API's related to creating Sales Order in Order Management Suite (OM_PF) -->Order Management (ONT) --> Sales Order (ONT_SALES_ORDER) --> PL/SQL --> Process Order API (OE_ORDER_PUB) in Module Browser.
    Please tell me which PL/SQL API to use to create new Sales Order in BPEL.
    Thanks,
    -- Gowtham

    You may be on a different patch level. Can you ensure that you have applied all latest patches for your version?
    See sample code at http://jyotioraapps.blogspot.com/2009/08/use-of-oeorderpubprocessorder-to-create.html
    Hope this helps,
    Sandeep Gandhi

  • Error while invoking PL/SQL API from DB Adapter

    Hi everybody.
    We have a plenty of processes, which invokes PL/SQL API using DB Adapters. Everything goes ok, but sometimes API invocations results with error like this:
    <bindingFault>
    <part name="code" >
    <code>902</code>
    </part>
    <part name="summary" >
    <summary>file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ]
    - WSIF JCA Execute of operation 'insert_person' failed due to: Error while trying to prepare and execute an API. An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype ; nested exception is: ORABPEL-11811 Error while trying to prepare and execute an API. An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable. </summary>
    </part>
    <part name="detail" >
    <detail>ORA-00902: invalid datatype </detail>
    </part>
    </bindingFault>
    (text from Activity Audit trail)
    The error disappears after some "magic" actions like redeploying the process, clearing WSDL cache or restarting BPEL server.
    Any suggestions?
    Debug log for the error:
    Oracle BPEL Server version 10.1.2.0.2
    Build: 2196
    Build time: Tue Jan 10 12:31:53 UTC 2006
    Build type: release
    Source tag: BPEL_10.1.2.0.2_GENERIC_060110.1200
    <2006-06-08 09:03:45,437> <INFO> <dev.collaxa.cube.engine> <CubeEngine::load>
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: get_person, partnerLink: <partnerLink name="PL_get_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="get_person_role">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv2-BpSeq2.8-2</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=get_person, parnterLink=<partnerLink name="PL_get_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="get_person_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv2-BpSeq2.8-2</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,163> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - No XMLRecord headers provided
    <2006-06-09 15:13:45,164> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - Starting JCA LocalTransaction
    <2006-06-09 15:13:45,164> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - Invoking JCA outbound Interaction
    <2006-06-09 15:13:45,164> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2006-06-09 15:13:45,165> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> begin transaction
    <2006-06-09 15:13:45,166> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> BEGIN XXAR_CUSOMER_WRAP_PKG.GET_PERSON_REC(P_PARTY_ID=>?, X_PERSON_REC=>?, X_RETURN_STATUS=>?, X_RETURN_MESSAGE=>?); END;
    <2006-06-09 15:13:45,173> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - Committing JCA LocalTransaction
    <2006-06-09 15:13:45,173> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> commit transaction
    <2006-06-09 15:13:45,174> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    <2006-06-09 15:13:45,176> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Returning outbound XMLRecord for OutputParameters
    <2006-06-09 15:13:45,192> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: initiate, partnerLink: <partnerLink name="PL_ins_upd_person" partnerLinkType="{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S">
    <myRole name="Ins_person_M2SRequester">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2SCallback</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="Ins_person_M2SProvider">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv3-BpSeq2.8-5</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is http://wizard.etops.ru:7780/orabpel/dev/Ins_person_M2S/Ins_person_M2S?wsdl
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=initiate, parnterLink=<partnerLink name="PL_ins_upd_person" partnerLinkType="{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S">
    <myRole name="Ins_person_M2SRequester">
    <ServiceName>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2SCallbackService</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2SCallback</PortType>
    <Address>http://wizard.etops.ru:7780/orabpel/dev/Customer_Dispatcher/1.0/PL_ins_upd_person/Ins_person_M2SRequester</Address>
    </myRole>
    <partnerRole name="Ins_person_M2SProvider">
    <ServiceName>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv3-BpSeq2.8-5</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Calling local process http://wizard.etops.ru:7780/orabpel/dev/Ins_person_M2S/1.0 ... shortcut
    <2006-06-09 15:13:45,194> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invokeLocalService> location=http://wizard.etops.ru:7780/orabpel/dev/Ins_person_M2S/1.0
    <2006-06-09 15:13:45,194> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invokeLocalService> processId=Ins_person_M2S, revisionTag=1.0, partnerLinkName=, roleName=
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: check_person, partnerLink: <partnerLink name="PL_check_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="check_person_role">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv0-BpSeq1.5-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=check_person, parnterLink=<partnerLink name="PL_check_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="check_person_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv0-BpSeq1.5-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,258> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - No XMLRecord headers provided
    <2006-06-09 15:13:45,258> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - Starting JCA LocalTransaction
    <2006-06-09 15:13:45,259> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - Invoking JCA outbound Interaction
    <2006-06-09 15:13:45,259> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2006-06-09 15:13:45,260> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> begin transaction
    <2006-06-09 15:13:45,262> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> BEGIN XXAR_CUSTOMER_BPCONF_CHECK_PKG.CHECK_PERSON(P_ACTION=>?, P_PERSON=>?, X_RESULT=>?, X_CONFLICTS=>?); END;
    <2006-06-09 15:13:45,263> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - Committing JCA LocalTransaction
    <2006-06-09 15:13:45,264> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> commit transaction
    <2006-06-09 15:13:45,264> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    <2006-06-09 15:13:45,265> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Returning outbound XMLRecord for OutputParameters
    <2006-06-09 15:13:45,273> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: insert_person, partnerLink: <partnerLink name="PL_insert_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="insert_person_role">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv2-BpSeq4.12-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,274> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl
    <2006-06-09 15:13:45,274> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=insert_person, parnterLink=<partnerLink name="PL_insert_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="insert_person_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv2-BpSeq4.12-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,274> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,277> <INFO> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Using JCA Connection Pool - max size = <unbounded>
    <2006-06-09 15:13:45,277> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Looking up Resource Adapter JDNI location 'eis/DB/Slave'
    <2006-06-09 15:13:45,278> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Instantiating outbound JCA interactionSpec oracle.tip.adapter.db.DBStoredProcedureInteractionSpec
    <2006-06-09 15:13:45,278> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Populating outbound JCA interactionSpec oracle.tip.adapter.db.DBStoredProcedureInteractionSpec with properties: {ProcedureName=CREATE_PERSON, PackageName=XXAR_CUSOMER_WRAP_PKG}
    <2006-06-09 15:13:45,299> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - No XMLRecord headers provided
    <2006-06-09 15:13:45,299> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Starting JCA LocalTransaction
    <2006-06-09 15:13:45,299> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Invoking JCA outbound Interaction
    <2006-06-09 15:13:45,300> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2006-06-09 15:13:45,300> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> begin transaction
    <2006-06-09 15:13:45,302> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> BEGIN XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON(P_PERSON_REC=>?, X_PARTY_ID=>?, X_PARTY_NUMBER=>?, X_PROFILE_ID=>?, X_RETURN_STATUS=>?, X_RETURN_MESSAGE=>?); END;
    <2006-06-09 15:13:45,304> <ERROR> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Could not invoke operation 'insert_person' against the 'Database Adapter' due to:
    ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
         at oracle.tip.adapter.db.sp.SPConstants.createResourceException(SPConstants.java:217)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:104)
         at oracle.tip.adapter.db.sp.SPInteraction.executeStoredProcedure(SPInteraction.java:95)
         at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:532)
         at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:164)
         at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
         at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
         at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: java.sql.SQLException: ORA-00902: invalid datatype
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:625)
         at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:180)
         at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:869)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1153)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2932)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3023)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4132)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:92)
         ... 29 more
    <2006-06-09 15:13:45,304> <ERROR> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Rolling back JCA LocalTransaction
    <2006-06-09 15:13:45,305> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> rollback transaction
    <2006-06-09 15:13:45,306> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    <2006-06-09 15:13:45,306> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> invoke failed
    org.collaxa.thirdparty.apache.wsif.WSIFException: file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'insert_person' failed due to: Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    ; nested exception is:
         ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
         at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:570)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
         at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
         at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
         at oracle.tip.adapter.db.sp.SPConstants.createResourceException(SPConstants.java:217)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:104)
         at oracle.tip.adapter.db.sp.SPInteraction.executeStoredProcedure(SPInteraction.java:95)
         at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:532)
         at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:164)
         at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
         ... 25 more
    Caused by: java.sql.SQLException: ORA-00902: invalid datatype
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:625)
         at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:180)
         at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:869)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1153)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2932)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3023)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4132)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:92)
         ... 29 more
    <2006-06-09 15:13:45,307> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> Fault happened: file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'insert_person' failed due to: Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    ; nested exception is:
         ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.

    Adding more to what 'Arcturus' has put across :
    1) You can check your input & output arguments to a PL/SQL function/procedure using an assign activity, in which you tend to assign a source variable to a target variable.
    Here, you can check to see, if the input & output to the DB Adapter are correct, if not, you can always recreate the adapter.
    2) You can also check the schema of the PL/SQL function, to check if it has the right inputs & outputs.
    It'd be a .xsd file in the format of <SCHEMA_NAME-OF-FUNCTION.xsd> viz. SCOTT_EMPDETAILS.xsd

  • Custom PL/SQL API that inserts the data into a custom interface table.

    We are developing a custom Web ADI integrator for importing suppliers into Oracle.
    The Web ADI interface is a custom PL/SQL API that inserts the data into a custom interface table. We have defined the content, uploader and an importer. The importer is again a custom PL/SQL API that will process the records inserted into the custom table and updates the STATUS column of the custom interface table. We want to show the status column back on the spreadsheet.
    Defined the 'Document Row' import rule and added the rows that would identify the unique record.
    Errored row import rule, we are using a SELECT * from custom_table where status<>'Success' and vendor_name=$param$.vendor_name
    The source of this parameter is import.vendor_name
    We have also defined an Error lookup.
    After the above setup is completed, we invoke the create document and click on Oracle->Upload.
    The records are getting imported, but the importer program is failing with An error has occurred while running an API import. The ERRORED_ROWS step 20003:ER_500141, parameter number 1 must contain the value BIND in attribute 1.'

    The same issue.
    Need help.
    Also checked bne.log, no additional information.
    <bne:document xmlns:bne="http://www.oracle.com/bne">
    <bne:message bne:type="DATA" bne:text="BNE_VALID_ROW_COUNT" bne:value="11" />
    <bne:message bne:type="DATA" bne:text="BNE_INVALID_ROW_COUNT" bne:value="0" />
    <bne:message bne:type="ERROR" bne:text="An error has occurred while running an API import"
    bne:cause="The ERRORED_ROWS step 20003:ER_500165, parameter number 1 must contain the value BIND in attribute 1."
    bne:action="" bne:source="BneAPIImporter" >
    <bne:context bne:collection="collection_1" />
    </bne:message><bne:message bne:type="STATUS"
    bne:text="No rows uploaded" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message>
    <bne:message bne:type="STATUS" bne:text="0 rows were invalid" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message></bne:document>

  • Why : Data Control entry not expandable/empty - ADF Task flow based on HT.

    Hi All,
    I've hoping to create an ADF Task flow based on a human task. I have a stand alone ADF application within the ViewController of which I am attempting to create this task flow. The resultant data control entry doesn't seem to be expandable.
    Questions
    1. When creating an ADF Taskflow based on a human task, should it always be within a project in the same application as the SOA components?
    2. If no, is the resultant human task data control empty or not expandable because the xsd for the HT is based on the MDS? I have configured all the MDS connections within my application.
    JDev : 11.1.1.4
    Thanks
    PP

    Hi,
    Answers :-
    1. No, it is not necessary that your ADF Taskflow based on Human Task should be in the same application where the SOA Project Resides. But for the deployment of that ADF Taskflow you will need the SOA Project.You can add that project whenever you want to deploy.
    2. It might be the cause due to the MDS Configuration .
    Do one thing , while creating the ADF Taskflow based on Human Task , you do select the .task file via the file system not from the MDS.
    If you will select the .Task file of your soa project then it will ask you to name the Taskflow, just name the taskflow as you want and say ok.
    After creating the taskflow, it will add a lot of xml files in your project and it will create a data control of it.
    Hope it helps!!
    Regards,
    Shah

Maybe you are looking for

  • Can't ping, email or access my domain -- on occasion.

    Very weird but I have no idea what is happening. We have two MacBook Pro's one 15 and one 13, both have mobile me and some pop email accounts with our own domains. Also have iphones that connect to the same network, all connecting to Airport Wireless

  • Is there a way to add a "proofing" page in iweb that is accessed by a password?

    I would like my clients to each be assigned their own password and access their proofs privately on my website. Any help would be appreciated! Thanks!

  • How to set multiple query names to BIApplicationFrame?

    Hi, I have to integrate BI reports in webdynpro.For this purpose i am using BI Application Frame UI element. From BW if there is one query for one templet i am setting the following properties like ...... dataproviderstatename - xxxxxxxx(queryname) d

  • Address at sapscript form

    Hi, /:   ADDRESS PARAGRAPH AS /:     TITLE    &VBDKL-ANRED& /:     NAME     &VBDKL-NAME1&, &VBDKL-NAME2&, =    &VBDKL_KUNWE&/:     STREET   &VBDKL-STRAS& /:     POBOX    &VBDKL-PFACH& CODE &VBDKL-PSTL2& /:     POSTCODE &VBDKL-PSTLZ& /:     CITY     &

  • Student license for commercial use?

    Hi, Can i use Creative Cloud with student license for commercial work?