Home » Applications » Oracle Fusion Apps & E-Business Suite » Oracle XML Gateway- Mapping XML to Oracle Apps API - Wrong Number or types of arguments mismatch err (linux)
Oracle XML Gateway- Mapping XML to Oracle Apps API - Wrong Number or types of arguments mismatch err [message #544675] Thu, 23 February 2012 04:53
srikanth.bonala
Messages: 1
Registered: February 2012
Location: HYDERABAD
Junior Member
XML GATEWAY INBOUND CALLING AN API (PL/SQL record type IN variable) TO INSERT THE DATA INTO SAMPLE TABLE

Hi,

I am using XML Gateway to push data into Oracle Apps using a procedure call with "Record Type" as the parameter. I am getting a "wrong number" or types of arguments mismatch error inspite of following the process described in the Oracle XML Gateway User's Guide

Steps followed:
DB

1. I Created a sample table XX_CUST_HIST(ID NUMBER, ACCOUNT_NAME VARCHAR2(50), FIRST_NAME VARCHAR2(50), LAST_NAME VARCHAR2(50), TITLE VARCHAR2(50))

2.I then Created a package 'XX_XML_DEMO_API' in which we have defined a record type and a procedure.

3.The Record type 'customerRecordType' holds account_name , first_name, last_name and the title.

4.The Procedure 'insert_customer_r' takes 2 IN arguments :
1. p_ id number
2. p_customer customerRecordType
5.The procedure will insert the values into xx_cust_hist table
p_id -> id
p_customer.account_name -> account_name
p_customer.first_name -> first_name
p_customer.last_name -> last_name
p_customer.title -> title

Now I need to call the procedure 'XX_XML_DEMO_API . insert_customer_r' from XML gateway.

Following are the steps to call the procedure:

[1] Create DTD
ELEMENT NEW_CUSTOMER_APIR (DATAAREA)
ELEMENT DATAAREA (CUSTOMER_DATA)
ELEMENT CUSTOMER_DATA (ID, CUSTOMER_RECORD)
ELEMENT ID (#PCDATA)
ELEMENT CUSTOMER_RECORD (ACCOUNT_NAME, FIRST_NAME, LAST_NAME, TITLE)
ELEMENT ACCOUNT_NAME (#PCDATA)
ELEMENT FIRST_NAME (#PCDATA)
ELEMENT LAST_NAME (#PCDATA)
ELEMENT TITLE (#PCDATA)

[2] Creation of XML map Data Definition type for Source and Destination are set to XML.

While executing the procedure 'XX_XML_DEMO_API . insert_customer_r' in post_process from the message designer, instead of 2 (p_id IN number , p_customer IN customerRecordType) parameters it is showing 6 parameters (p_id IN number, p_customer IN customerRecordType, account_name IN varchar2, first_name IN varchar2, last_name IN varchar2, title IN varchar2). Six parameters are getting mapped, instead of the 2 that the procedure really needs.

[3] Testing of XML map. Error message in transaction monitor: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'INSERT_CUSTOMER_R' ORA-06550: line 1, column 7: PL/SQL: Statement ignored - ECX_ACTIONS.BIND_PROC_VARIABLES
The process executed and produced the error message given in the step 3.

The standard documentation is unclear on how this should be done. Being a newbie to the XML Gateway technology I am unable to get a clue about what the error message could be and which step of the process produced the message. Could anyone help me to proceed further?

Thanks in advance.
Previous Topic: XML parse: missing instance name attribute -- using instance id
Next Topic: Load MDS based upon requested date of Sales Order in stead of scheduled ship date
Goto Forum:
  


Current Time: Tue Mar 19 08:59:15 CDT 2024