Troubleshooting

Troubleshooting Your XML Gateway Installation

This section presents the following troubleshooting topics:

Automated Troubleshooting Script

Use the ecxver.sql script to verify the health of your Oracle XML Gateway installation. It can be run at any time. Outlined below are instructions for executing the script and interpreting the output.

How to Run the Automated Test Script

Log in to your database applications account and execute the following:

SQL> @$ECX_TOP/patch/115/sql/ecxver.sql

The output of the script will appear on your screen.

Sample Output of the Automated Test Script

Component OBJECT_NAME LOCKED_MODE
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
OTA ECX_OUTQUEUE Normal
WEBMETHODS ECX_OUTQUEUE Normal
WEBMETHODS ECX_OUTQUEUE Normal
WEBMETHODS ECX_OUTQUEUE Normal
WEBMETHODS ECX_OUTQUEUE Normal
WEBMETHODS ECX_OUTQUEUE Normal
ECX_UTL_XSLT_DIR Profile : /sqlcom/log/ecx115
ECX_OAG_LOGICALID Profile : www.oracle.com
ECX_SERVER_TIMEZONE Profile: 
ECX_SYS_ADMIN_EMAIL Profile: fname_lname@oracle.com
ECX_UTL_LOG_DIR Profile : /sqlcom/log/ecx115
ECX_XML_VALIDATE_FLAG Profile: Y
ECX_XML_MAXIMUM_SIZE Profile: 2000000
utl_file_dir: /sqlcom/log/ecx115
Oracle XML Parser: 2.0.2.9.0    Production
Parser Version OK
---------------------------------------
XML Gateway Status Summary
---------------------------------------
Log Profile/utl_file_dir OK
XML Parser Version OK
All ECX Objects Valid? OK
All XML Parser Objects Valid? OK
webMethods Running? OK
OTA Running? OK
Total Messages on Outbound Queue 6
OTA Msgs on Outbound Queue 4
webMethods Msgs on Outbound Queue 1
Messages on Inbound Queue 8
----------------------------------
End of Summary
----------------------------------

How to Interpret the Output Generated by the Automated Test Script

The following table explains each line of the example output shown above. Some of the output is informational only and does not require further action.

Output Explanation/Troubleshooting Tip
Transport Software The "LOCKED_MODE" value should be "Normal", but may appear as "DEADLOCK". Deadlocks are normal if they remain for a short period of time. If a deadlock persists for more than 10 minutes, there may be a serious problem. Note: webMethods is used in Oracle Exchange environments only. It is not used in ERP environments
System Profiles: ECX_UTL_XSLT_DIR ECX_OAG_LOGICALID ECX_SERVER_TIMEZONE ECX_SYS_ADMIN_EMAIL ECX_UTL_LOG_DIR ECX_XML_MAXIMUM_SIZE ECX_XML_VALIDATE_FLAG The value associated with each XML Gateway System Profile is displayed for review.
ERROR: Parser Version Wrong The XML Parser version associated with the environment is displayed. XML Parser version 2.0.2.9 or higher is required.
ERROR: Some Invalid ECX Objects Informational message indicating some invalid ECX database objects were identified.
Log Profile/utl_file_dir If value displayed is anything other than "OK", verify the following: The physical directories associated with the ECX_UTL_XSLT_DIR and ECX_UTL_LOG_DIR system profiles must be assigned to the utl_file_dir parameter in the INIT.ORA file. Also, make sure the physical directories are write-enabled. If necessary, make the changes and bounce the database.
XML Parser Version If value displayed is "FAIL", upgrade XML Parser to version 2.0.2.9 or higher.
The XML Parser version mentioned here is from the java component. This value is used to find out only whether the previous version is installed in the environment. The versions of plxml parser (plsql component of XML Parser) and corresponding PL/SQL wrappers created by load.sql could not be determined. Therefore, please check for any invalid XML Parser objects and invalid ECX objects. Oracle XML Gateway will not function properly, if the installation of XML Parser is not correct.
If you get "ORA-00932: inconsistent datatypes" error, then you need to reinstall XML Parser (java component and PL/SQL component) in the environment. Only XML Parser 2.0.2.9 is certified by Oracle E-Business Suite.
All ECX Objects Valid? If value displayed is "NO", the invalid objects must by recompiled. Recompile the invalid objects or reapply the XML Gateway patch to resolve the invalid ECX database objects.
All XML Parser Objects Valid? If value displayed is "NO", the XML Parser must be reinstalled. Reinstall the XML Parser to resolve the invalid XML Parser objects.
webMethods Running? If value displayed is anything other than "OK", restart webMethods. For an Oracle-hosted environment: contact Operations For self-hosted environments: contact webMethods Note: webMethods is used in Oracle Exchange environments only. It is not used in ERP environments.
OTA Running? If value displayed is anything other than "OK", restart Oracle Transport Agent (OTA). Follow instructions in OTA patch to start the Apache web server. Ensure the required JSERV properties are set.
Total Messages on Outbound Queue Number reported represents the number of messages on the outbound queue awaiting processing by OTA or webMethods. If number is unusually high, check the individual totals in the OTA and webMethods queues.
OTA Messages on Outbound Queue Number reported represents the number of messages on the outbound queue awaiting processing by OTA. This is a subset of the total. If number is unusually high, ensure OTA is running.
webMethods Messages on Outbound Queue Number reported represents the number of messages on the outbound queue awaiting processing by webMethods. This is a subset of the total. If number is unusually high, ensure webMethods is running.
Messages on Inbound Queue Number of messages on inbound queue (informational). As long as the agent for the inbound queue is enabled, the agent listener is running, and OTA/webMethods is running, these messages will be processed. See Start Agent Listeners for information on enabling agents and starting agent listeners.

Note: There are some common mistakes while using webMethods in Oracle Exchange 6.2.2 environment:

In Oracle Exchange 6.2.2 environment, you will not receive XML messages if transactions are not set up. However, your system administrator should get an email indicating this error.

Verifying the Installation

Before running the patch/115/sql/ECXTEST.sqlscript to test Oracle XML Gateway, you need to run the patch/115/sql/ECXLGINI.sql script which does the necessary initialization for fnd logging for that particular sql session first. This step is necessary even if you have Enabled FND Logging for ECX from configuration screens.

Execute the following SQL program as the application user in SQL*Plus to test Oracle XML Gateway:

SQL> $ECX_TOP/patch/115/sql/ECXTEST.sql

This creates an XML file and log file in the FND_LOG infrastructure (the fnd_log_attachment table).

Java Permission Error

This is applicable if the database is upgraded from 8.1.6 to 8.1.7x. You may receive the following error messages in the FND_LOG:

ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: the Permission (java.io.FilePermission */OUT9.xml write) has not been granted by dbms_java.grant_permission to SchemaProtectionDomain(APPS|PolicyTableProxy(APPS)). Exit ECX_OUTBOUND.PROCESS_OUTBOUND_DOCUMENTS

ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: the Permission (java.io.FilePermission */OUT9.xml write) has not been granted by dbms_java.grant_permission to SchemaProtect ionDomain (APPS|PolicyTableProxy(APPS)) at ECX_OUTBOUND.PROCESS_OUTBOUND_DOCUMENTS Exit ECX_OUTBOUND.GETXML

This is because the Java security has not been set properly in the database. Use the following instructions to correct this error:

SQL> exec dbms_java.grant_permission ('PUBLIC', 'java.io.FilePermission','<dir name>/*','write');  

Note: The <dir name> is the ECX: Log File Path.

If this does not resolve the issue, follow these steps. Copy $ORACLE_HOME (8.1.6)/javavm/install/init_security.sql to a temp file. Replace the word call with exec (this is a known bug in the script). Login to the database as the SYS user and run the modified SQL script.

Testing Oracle Transport Agent

The ECXOTAPing.html file included with the Oracle Transport Agent (OTA) allows you to test the OTA installation and configuration by sending a "ping" to it. This ping only tests whether the OTA server is running and validates the username/password.

To use the ECXOTAPing.html, open a web browser and enter the following URL:

http://<applications apache url with port> OA_HTML/US/ECXOTAPing.htm

A web page will appear prompting you for the username and password. You must enter a valid applications username and password. Click the Ping button and you should see a status HTML page in your browser. If it is successful, the web page will look like the following:

STATUS_CODE 1000

STATUS_DESCRIPTION OK

MESSAGE_RECEIPT_ID

Note: If you received an error response (anything other than STATUS_CODE 1000), check the Apache error log file in the Apache_top/Apache/logs directory for more specific information on the error.

The ECXOTAInbound.html file included with the Oracle Transport Agent allows you to send XML documents inbound from a web browser. The document will be received by OTA and placed on the ECX_INBOUND queue. This HTML file is included for testing purposes and should not be used in a production environment. To use the ECXOTAInbound.html, open a web browser and enter the following URL:

http://<applications apache url with port> OA_HTML/US/ECXOTAInbound.htm

A web page will appear prompting you for the input parameters used by the OTA messaging protocol. Refer to the Oracle Transport Agent chapter for information on OTA messaging protocol parameters.

Error: "java.lang.IllegalArgumentException: port out range:-1" in Apache error logs

When sending any document through Oracle Transport Agent without explicitly mentioning the port number (even for default ports 80 and 443), this error is reported in the Apache error log file. After this error, OTA retries to send the document indicated by OXTAOutMaxAttempts parameter. Please specify the port number explicitly for the Outbound documents.

All the activities by Oracle Transport Agent is recorded in the ECX_OXTA_LOGMSG table. Please query the table to find more information about OTA errors.

Transaction Monitor

The Transaction Monitor is a tool for monitoring the status of inbound and outbound transactions originating from and going into the Oracle e-Business Suite that have been processed by the XML Gateway and delivered or received by the Oracle Transport Agent. The Transaction Monitor shows a complete history and audit trail of these documents. You can also use the Transaction Monitor to resend an outbound document, if necessary.

Navigate to the Transaction Monitor page using the Workflow Administrator Web (New) responsibility.

The Transaction Monitor provides the following:

Transaction Monitor Search Page

Use the Transaction Monitor Search page to enter search criteria for a specific inbound or outbound document, or group of documents.

The LOVs contain the valid search values and are defined under the Lookup Type FND_TX_MONITOR_STATUS. The search page allows you to search on the following criteria:

Inbound Messages

Select this radio button to search for inbound messages, and then select a Processing Status.

Processing Status

Select the processing status of the inbound message(s) for which you want to search. Valid values are All, Pending, Warning, Error, and Success.

Outbound Messages

Select this radio button to search for outbound messages, and then select the Generation Status, Delivery Status, and Retry Status.

Generation Status

Select the generation status of the outbound message(s) for which you want to search. Valid values are All, Pending, Warning, Error, and Success.

Note: A Generation Status of "Success" indicates that the message was generated and enqueued.

Delivery Status

Select the delivery status of the outbound message(s) for which you want to search. Valid values are All, Pending, Warning, Error, and Success.

Note: A Delivery Status of "Success" indicates that the message was delivered successfully.

Retry Status

Select the retry status of the outbound message(s) for which you want to search. Valid values are All, Pending, Warning, Error, and Success.

Transaction Type

The transaction type is the product short name for the base Oracle E-Business Suite application associated with the transaction. Select a value from the Search and Select window.

Transaction Subtype

The transaction subtype is a code relating to the transaction type. Select a value from the Search and Select window.

Source TP Location Code

The source TP location code is the source trading partner of the message. Select a value from the Search and Select window.

Trading Partner Name

Select the trading partner name from the Search and Select window.

Document ID

Enter the document ID provided by Oracle e-Business Suite.

Site Name

Select the site name associated with the Trading Partner from the Search and Select window.

Party Type

Select the party type from the LOV. To search for all party types, select the blank LOV option.

From Date

Select the from date using the calendar icon, or enter a date in the format dd-mm-yyyy:hh:mm:ss (Example: 23-10-2002).

To Date

Select the to date using the calendar icon, or enter a date in the format dd-mm-yyyy:hh:mm:ss (Example: 23-10-2002). The to date must be equal to or after the from date. If the to date is the same as the from date, you are specifying one 24-hour period.

Calling the Transaction Monitor Search Page from other applications

Note: The Transaction Monitor Search page is a callable URL from any environment. Call the page by using the following URL and parameters:

OA.jsp?OAFunc=TXMONITORRESULTSPG&addBreadCrumb=Y&Direction= <value_direction>&...(other parameter-value pairs)

<value_direction> should be IN or OUT

addBreadCrumb=Y is added to maintain the breadcrumbs trail

Additional parameters that can be used to call the Transaction Monitor are:

ProcessingStatus (with Direction=IN)

GenerationStatus (with Direction=OUT)

DeliveryStatus (with Direction=OUT)

RetryStatus (with Direction=OUT)

PartyType (lookup values CARRIER, S, I, B, E, C)

TransactionType

TxSubtype

LocCode

TPName (must be submitted with PartyType)

DocumentId

SiteName (must be submitted with PartyType)

From (in format DD-MON-YYYY HH:MI:SS)

To (in format DD-MON-YYYY HH:MI:SS)

Search Results Page

The Transaction Monitor will return the Inbound Search Results page or the Outbound Search Results page depending on your selection. The document ID drills down to a details page from which you can view the XML message. For outbound documents, the Search Results page allows you to resend a document.

Inbound Search Results Page

Document ID

The document ID of the document being processed, such as the PO number or the Invoice number. This field drills down to the Message Details page.

Trading Partner Name

The trading partner name. A value of "N/A" indicates that the XML Gateway Trading Partner Details have not been synchronized with the Workflow Directory Services. For more information, see: Setting up an Oracle Workflow Directory Service in the Oracle Workflow Administrator's Guide.

External Transaction Type

The external transaction type is the primary external identifier for the XML message (for example, OAG noun). It is associated with the internal transaction type and transaction subtype.

External Transaction Subtype

The external transaction subtype is a code relating to the transaction subtype (for example, OAG verb). It is the secondary identifier for the XML message.

Note: The combination of Transaction Type, Transaction Subtype, and the External Transaction Type and External Transaction Subtype identifies an Oracle transaction with which to associate this message.

Processing Time Stamp

The date and time the document was processed.

Processing Status

The processing status of an inbound message. Valid values are Pending, Warning, Error, and Success.

Outbound Search Results Page

The Outbound Search Results page allows you to resend a document. Select the document(s) and click the Resend button. This action will not recreate the document, but resends the document from information stored in the ecx_doclogs table.

Note: The Select option is disabled for transactions that are A2A (because no message ID is created), and for B2B transactions for which generation failed.

Document ID

The document ID drills down to the message detail screen.

Trading Partner Name

The trading partner name. A value of N/A indicates that the XML Gateway Trading Partner Details have not been synchronized with Workflow Directory Services.

Internal Transaction Type

The transaction type is the product short name for the base Oracle E-Business Suite application associated with the transaction.

Internal Transaction Subtype

The transaction subtype is a code relating to the transaction type.

Generation Date

The date and time the message was generated.

Generation Status

Possible values of the generation status are: Pending, Warning, Error, and Success.

Note: A Generation Status of "Success" indicates that the message was generated and enqueued.

Delivery Date

The date and time the message was delivered.

Delivery Status

Possible values of delivery status are: Pending, Warning, Error, and Success.

Note: A Delivery Status of "Success" indicates that the message was delivered successfully.

Retry Date

The "retry" date of the message. The Retry Status column is updated if Resend was initiated from the search detail window.

Retry Status

Possible values are: Pending, Warning, Error, and Success.

Resend (button)

Use this button to resend selected documents from information stored in the ecx_doclogs table. This function will not recreate the document. You can resend a single document, or select multiple documents to resend.

Transaction Monitor Details Page

The details screen is displayed when you drill down on the Document ID field.

Inbound Message Details

The Inbound Message Details Screen displays information regarding the selected document. Use the View XML button to view the XML document.

Fields displayed that are not shown on the Inbound Search Results screen are:

Internal Control Number

The unique number generated by the execution engine.

Party ID

The Trading Partner identifier.

Party Type

The type of Party, such as Customer, Supplier, or Bank.

Site Name

The trading partner's site name.

Processing Message

A message regarding the status of the transaction. Refer to Manual Troubleshooting for information on how to interpret messages and resolve reported errors.

Processing Logfile

The name and location of the processing log file. Use it to trace the process flow and identify errors.

View XML (button)

Clicking this button displays the XML message in the View XML page.

Outbound Message Details

Click on the Document ID to drill down to the Transaction Monitor Details page.

Fields displayed that are not shown on the Outbound Search Results screen are:

Party ID

The identifier of the Trading Partner you are doing business with.

Site Name

The site name associated with the Trading Partner.

URL Sent To

The URL the document was sent to.

Generation Status

Valid values are Success, Error, Pending, or Warning.

Generation Message

The message returned by the system regarding the status of the transaction. For information regarding the interpretation of this message, see Manual Troubleshooting Steps.

Generation Logfile

The name and location of the logfile. If this is a failed transaction, see Manual Troubleshooting Steps.

Delivery Message

The message returned by the system regarding the status of the delivery.

Retry Message

The message returned by the system regarding the status of the retry message.

View XML (button)

Select this button to display the XML message in the View XML page. This button is enabled when the Generation Status is "Success".

View XML

This page displays the XML document.

Note: The information in the "View XML" screen sample shown below was taken from the ecx_doclogs table on the basis of the out message ID stored in the view.

Manual Troubleshooting Steps

If this is a new install or a new upgrade and you are experiencing errors, run the verification script included in the XML Gateway patch to verify that all the necessary components of the XML Gateway solution are installed correctly. Refer to Automated Troubleshooting Script for details on how to execute the troubleshooting script, ecxver.sql.

If the troubleshooting script did not reveal any install or upgrade errors, or if the error occurs in the processing stage, perform the following manual troubleshooting procedures.

There are three types of error messages generated by Oracle XML Gateway:

XML Gateway Engine-Level Messages

The following is a list of the seeded error messages that may be included in a notification to the Trading Partner or System Administrator. The same error message may also appear in the process log file depending on the trace level activated. Along with each error message is an explanation of possible causes and recommended corrective actions.

The list is organized by functional area and error type for easy reference. The list contains the following columns:

The Error Type identifies the target recipient of a notification. The target recipient is predetermined and is based on which party is most able to resolve the error. In a few instances, a notification is sent to both the Trading Partner and System Administrator so that the two parties may collaborate to resolve the error. The valid Error Types are listed in the following table:

Error Type Description
10 No notification
20 Notification sent to Trading Partner
25 Notification sent to both Trading Partner and System Administrator
30 Notification sent to System Administrator

The Error Code identifies the status of the process. The valid Error Codes are shown in the following table:

Error Code Description
10 In Process
0 Success
1 Warning
2 Error

Because the focus of this section is on troubleshooting, Error Type 10 (No Notification) and Error Code 0 (Success) are excluded from the list. Error Code 10 (In Process) is included to support troubleshooting, although this group does not represent an error. The engine will abort and roll back any process that does not have a status of "Success."

The Message Code is a code related to the message text string. This is used for quick identification of an error.

There are several error messages that can originate from multiple sources. The Message Code and Message string may be the same, but the Error Type and Error Code will be different. Ensure not to regard these as duplicates.

There are several categories of corrective action identified in the troubleshooting guide. The following table summarizes the categories and lists the corresponding reference section in this book:

Corrective Action Category Reference Section
Verify lookup data XML Gateway Setup chapter: Define Lookup Values
Verify development setup data XML Gateway Setup chapter: Define XML Standards
Define Transactions
Verify implementation setup data XML Gateway Setup chapter: Define System Profile Options
Define Trading Partner
Define Code Conversion
Verify queues and agent listeners are enabled Integrating XML Gateway with Workflow Business Event System chapter: Manage Workflow Processes
Monitor Workflow Processes
Enable trace or configure event subscriptions Integrating XML Gateway with Workflow Business Event System chapter: Manage Workflow Processes
Monitor Workflow Processes
Modify a message map: Action Definition Message Designer chapter (see note following table): Reference the specific action under Transaction Map - Actions
Modify a message map: Root Element Message Designer chapter (see note following table): File > Properties menu option
Load/Delete a map or DTD Message Designer chapter (see note following table): How to Load/Delete Message Maps and DTDs
Verify Confirmation Message setup Execution Engine chapter: How to Implement a Confirmation Message
Enter a bug Work with Oracle World Wide Support to enter a bug. Include log file, message map, (.xgm file), and the associated DTD in the bug report.
Enter an enhancement request Work with Oracle World Wide Support to enter an enhancement request. Include business justification and your specific scenario. Be as specific as possible.

Note: Updated maps must be loaded into the XML Gateway repository.

Changes in the relationship between a map (.xgm) and the corresponding DTD may require the map, the DTD, or both to be loaded into the XML Gateway repository.

UTL_FILE Errors:

Error Type Error Code Message Code Message Corrective Action
30 1 ECX_UTL_INVALID_OPERATION UTL FILE Error: The file could not be opened or operated on as requested. Verify that the file is read and write enabled. Use commands appropriate for your operating system to change protections if necessary.
30 1 ECX_UTL_INVALID_PATH UTL FILE Error: File location or file name was invalid. Verify that the directory identified by the profile option exists. Verify that the file name exists. Change the directory or file name if necessary.
30 1 ECX_UTL_WRITE_ERROR UTL FILE Error: An operating system error occurred during the write operation. Verify the setting for the directory identified by the profile option. Change UTL_FILE_DIR setting in INIT.ORA if necessary and bounce the database. Verify that the directory and file exist and are write-enabled. Use commands appropriate for your operating system to change protections if necessary. Change the directory or file name if necessary.

Trading Partner Errors:

Error Type Error Code Error Message Code Message Corrective Action
25 1 ECX_NO_UNIQUE_TP_SETUP Could not resolve a Unique/Destination Configuration for this Partner. The inbound message envelope contained a Trading Partner ID that was not uniquely defined in XML Gateway. This occurs when the wrong ID was sent or the Trading Partner has not been defined in XML Gateway. Use the window to view/add the Trading Partner profile.
30 1 ECX_ADDR_DERIVATION_ERR Unable to derive internal address ID for address type: &p_address_type and location code: &p_location_code. Cannot successfully execute Derive Address ID from Location Code action. This occurs when the address type or the location code is invalid. Check the section of the Message Designer chapter for a list of supported address types. Verify that the location code is valid.
30 1 ECX_DELIVERY_TP_NOT_SETUP Unable to determine the trading partner setup for Transaction type: &p_transaction_type, Transaction subtype: &p_transaction_subtype, Party site id: &p_party_site_id, Party id: &p_party_id, and Party type: &p_party_type. Cannot determine Trading Partner with token values for Party Type, Party ID, Party Site ID, Transaction Type, and Transaction Subtype. Use the window/API to view/update the Trading Partner setup data.
30 1 ECX_DESTINATION_ADDR_NULL Protocol Address missing for party id: &p_party_site_id and location code: &p_source_code. The Protocol Address is null for the given Trading Partner (Party Site ID) and Source Location Code. Use the window to view/update the Trading Partner's protocol address.
30 1 ECX_DYN_ROUTING_NOT_ENABLED &p_ext_type and &p_ext_subtype Not enabled for &p_party_ext_code in Oracle XML Gateway Server for Dynamic Routing. The inbound transaction associated with the given external transaction type, transaction subtype, and source location code is not enabled for dynamic routing. Ensure that the "attribute3" variable in the message envelope contains a valid value. Use the window to view/update the Trading Partner Routing information representing the route to the Trading Partner.
30 1 ECX_INVALID_PARTY_TYPE Party Type: &p_party_type is invalid. Review seeded Party Type lookup and use a valid party type code. Enter an Enhancement Request for new Party Type if required.
30 1 ECX_INVALID_TP_HDR_ID Tp_header_id: &p_tp_header_id is invalid. Invalid Trading Partner ID. Use the retrieve/update APIs in ECXTPXFB to query/update a Trading Partner profile.
30 1 ECX_INVALID_TXN_PARAMS Party Site ID or Transaction Type or Transaction Subtype cannot be NULL. Use the window to view/update the Trading Partner profile and ensure that the Trading Partner Site, Transaction Type, and Transaction Subtype are valid.
30 1 ECX_NO_EMAIL_ADDR Unable to determine TP email address for party_type: &p_party_type, transaction_type: &p_transaction_type, transaction_subtype: &p_transaction_subtype, and party_site_id: &p_party_site_id. Cannot determine Trading Partner e-mail address with given token values to send notification. Use the window to review/update the e-mail address in the Trading Partner setup.
30 1 ECX_NO_ENVELOPE Unable to determine envelope information for internal control number: &p_icn. Envelope information for the given internal control number was not found. The internal control number is a system-generated number that uniquely identifies the XML message being processed. Verify that the internal control number is valid.
30 1 ECX_NO_UNIQUE_TP_SETUP Could not resolve a Unique/Destination Configuration for this Partner. Cannot determine unique Trading Partner detail for outbound transaction with the information identified. Check parameters for Party Type, Party ID, Party Site ID, Transaction Type, and Transaction Subtype.
30 1 ECX_PARTY_ID_NOT_NULL Party ID is a required parameter. Pass valid Party ID, Party ID cannot be null.
30 1 ECX_PARTY_SITE_ID_NOT_NULL Party Site ID is a required parameter. Pass valid Party Site ID, Party Site ID cannot be null.
30 1 ECX_PARTY_TYPE_NOT_NULL Party Type is a required parameter. Review seeded Party Type lookup and pass valid Party Type. Party Type cannot be NULL.
30 1 ECX_PARTY_TYPE_NOT_SET Please provide party_type for the trading partner. Party Type not available for XML Gateway to uniquely determine Trading Partner. Provide valid Party Type from seeded Party Type lookup.
30 2 ECX_PARTY_TYPE_NOT_SET Please provide party_type for the trading partner. Party type not available for XML Gateway to uniquely determine Trading Partner. Provide valid Party Type from seeded Party Type lookup.
30 1 ECX_RCVR_NOT_SETUP Receiver TP setup not found for tp header id: &p_tp_header_id. The Receiving Trading Partner was not found. Use the window to verify that the Trading Partner is defined.
30 2 ECX_RULE_INVALID_TP_SETUP The Standard: &p_standard_code, Transaction Type: &p_transaction_type, Transaction Subtype: &p_transaction_subtype, and Location Code: &p_party_site_id is not enabled in the XML Gateway Server. Please check your Setup. Either invalid transaction, standard code, or Trading Partner encountered. Use the Define Transactions window to view/update the transaction setup. Use the window/API to view/update the Trading Partner setup and the transactions enabled for the the Trading Partner.
30 1 ECX_SNDR_NOT_SETUP Sender TP setup not found for tp_header_id: &p_tp_header_id. The Sending Trading Partner was not found. Use the window to verify that the Trading Partner is defined.
30 1 ECX_STATIC_ROUTING_NOT_ENABLED &p_ext_type and &p_ext_subtype Not enabled for &p_party_ext_code in Oracle XML Gateway Server for Static Routing. Could not determine routing information for given Trading Partner and transaction. Use the window to view/update the Trading Partner details for the Routing ID.
30 1 ECX_TRANSACTION_NOT_ENABLED &p_ext_type and &p_ext_subtype Not enabled for &p_party_ext_code in Oracle XML Gateway Server. Inbound transaction not enabled in XML Gateway. Check envelope parameter values for Message Standard, Transaction Type, Transaction Subtype, and Source Trading Partner Location. Either the envelope information contains an error or the Trading Partner has not been defined. Use the window to define the Trading Partner to process this inbound transaction.
30 1 ECX_TRANSACTION_NOT_FOUND No Transaction defined for Transaction Type: &p_transaction_type, Transaction Subtype: &p_transaction_subtype, and Party Type: &p_party_type. Given Party Type, Transaction Type, and Transaction Subtype not found. Check parameter values being passed.
30 2 ECX_USER_TP_VALID The Standard: &p_standard_code, Transaction Type: &p_transaction_type, Transaction SubType: &p_transaction_subtype, Location Code: &p_party_site_id and User Name:&p_user_name is not enabled in the XML Gateway Server. Please check your Setup. Either invalid standard code, transaction, user name, or Trading Partner encountered. Use the Trading Partner User Setup form to associate a user with a specific Trading Partner. Use the Trading Partner Setup form to view or update the Trading Partner setup.
30 2 ECX_TP_USER_ASSIGNED The user &user_name is already assigned to another Trading Partner. Assign different users to the Trading Partner in the Trading Partner User Setup form.
30 2 ECX_TP_INSUFFICIENT_VAL Please save the header record before selecting User Setup. In the Trading Partner Setup form, save the Trading Partner header record including Trading Partner Type, Trading Partner Name, Trading Partner Site, and Company Admin Email first before clicking the User Setup button to have access to the Trading Partner User Setup form.

Note: Party Side ID would be used almost everywhere in Oracle XML Gateway. If you get an error like "Party Site ID not authorized", then make sure that Party Site ID is passed in the Message Envelope for Inbound transactions. Also, Party Site ID should be passed in ATRRIBUTE3 of Message envelope. Otherwise transactions will not work properly.

Hub Errors

Error Type Error Code Error Message Code Message Corrective Action
25 1 ECX_DELIVERY_HUB_NOT_SETUP Unable to resolve the hub destination parameters for this trading partner hub. Cannot determine the hub attributes (for inbound transaction) for this Trading Partner. Use the Define Hubs and windows to view/update hub attributes. Hub attributes are used if Trading Partner "Connection/Hub" attribute is set to "Hub."
30 1 ECX_DELIVERY_HUB_NOT_SETUP Unable to resolve the hub destination parameters for this trading partner hub. Cannot determine the hub attributes (for outbound transaction) for this Trading Partner. Use the Define Hubs and windows to view/update hub attributes. Hub attributes are used if Trading Partner "Connection/Hub" attribute is set to "Hub."

Code Conversion Errors

Error Type Error Code Error Message Code Message Corrective Action
30 1 ECX_CODE_CONVERSION_DISABLED Standard Code: &MESSAGE_STANDARD not Found. Code Conversion is disabled. The execution engine is using an XML standard not defined in ECX_STANDARDS, so the code conversion cannot be performed. Use the Define XML Standards window to review the seeded XML standards. Enter an enhancement request for required XML standard and identify the transactions that require this new standard.
30 1 ECX_TP_NOT_FOUND Trading Partner not Found. Code Conversion is disabled. A warning indicating that the Trading Partner was not found, so Trading Partner code conversion cannot be performed. Use the window to view/update the Trading Partner setup.

Enqueue/Dequeue Errors

Error Type Error Code Error Message Code Message Corrective Action
10 10 ECX_DEQUEUED_LOGGED Message dequeued and logged Message dequeued and logged.
30 2 ECX_MANY_PROCESSING_QUEUES More than one row resulted while querying the queue name. Unable to determine unique queue for inbound transaction. Use the Define Transactions window to view/update the queue definition for the inbound transaction being processed.
30 1 ECX_NO_PROCESSING_QUEUE Unable to determine processing engine queue. Unable to determine processing queue for inbound transaction. Use the Define Transactions window to view/update the queue definition for the inbound transaction being processed.
30 1 ECX_PROCESSING_ENQ_ERROR Error enqueuing to processing engine: &p_queue_name Unable to enqueue when processing inbound transaction. Ensure that the transaction queue and agent listener are enabled.
30 1 ECX_REPROCESSING_ERROR Error enqueuing to processing engine, while REPROCESSING: &p_out_queue Unable to enqueue when reprocessing inbound transaction. Ensure that the transaction queue and agent listener are enabled.

Note: The enqueue_enabled and dequeue_enabled are YES for all ECX% queues in the DBA_QUEUES view. Make sure that you always get 'Y' for all the transaction queues.

Workflow Business Event System Errors

Error Type Error Code Error Message Code Message Corrective Action
10 10 ECX_PROCESSING_RULE Processing rule Processing rule
30 2 ECX_BUSINESS_EVT_NOT_SET Business Event Not Set for the Transaction Check that the message map for the inbound transaction concludes with root level, postprocess procedure call action to call the ECX_STANDARD.setEventDetails API. This API sets the business event to be raised to indicate an inbound transaction has been successfully processed. The corresponding application event subscription will consume this event.
30 2 ECX_IN_RULE_PROCESSING_ERROR Error in processing inbound rule Unexpected exception when processing inbound rule. Check the setup for event and agent listener.

Confirmation BoD Errors

Error Type Error Code Error Message Code Message Corrective Action
30 2 ECX_CONFIRM_DOC_NOT_FOUND Unable to determine the inbound document for which this confirmation is being sent. Verify that the Workflow for the outbound confirmation includes the internal control number corresponding to the inbound business document. Refer to the Workflow Development Guidelines on how to implement the Confirmation BoD for the details.
30 2 ECX_CONFIRM_GENERATE_FAILED Cannot generate confirmation for Confirmation Inbound. Loop Detected. Cannot use a Confirmation message to acknowledge a Confirmation message.
30 2 ECX_CONFIRM_STATUS_NOT_FOUND Cannot find confirmation status for the trading partner. Could not determine the Confirmation flag setting for the Trading Partner. Use the window to view/update the Trading Partner setup and set the Confirmation flag if necessary.
30 2 ECX_CONFIRM_TP_NOT_SETUP Unable to determine trading partner setup for the Confirmation. Transaction Type: &p_transaction_type, Transaction Subtype: &p_transaction_subtype, Location Code: &p_location_code. Cannot determine Trading Partner to send the Confirmation. Use the window to view/update the Trading Partner setup for the given Transaction Type, Transaction Subtype, and Source Trading Partner Location Code.

Message Map and DTD Errors

Error Type Error Code Error Message Code Message Corrective Action
20 1 ECX_INCOMPLETE_OAG_DATE Incomplete OAG Date: &p_datetime. A warning indicating the incoming OAG date was incomplete. This could cause the conversion to the Oracle date to be incomplete.
20 1 ECX_USER_INVOKED_EXIT Program Exit invoked by the User. A warning indicating a user-programmed exit was executed.
30 1 ECX_CANNOT_CONVERT_TO_DATE Cannot Convert to Date. Usage of (or other data conversion APIs) in the message map triggered an error. Use Message Designer to verify that the map action/API is defined correctly. Make the necessary changes and reload the updated map.
30 2 ECX_CANNOT_CONVERT_TO_NUM Cannot convert the value &p_value to number. Invalid number used with math function. Verify that the variable/literal value is numeric. Make the necessary changes and reload the updated map.
30 1 ECX_CANNOT_CONVERT_TO_NUMBER Cannot Convert to number. Condition evaluation error, inform the System Administrator or log a bug.
30 1 ECX_COND_NOT_DEFINED Condition type: &TYPE not defined. Review map actions using Message Designer to ensure that the condition expressions are defined correctly with two operands and a valid operator. Make the necessary changes and reload the updated map.
30 2 ECX_DATATYPE_CONV_FAILED DataType conversion failed while inserting the level into the table. Datatype mismatch between source and database datatype. Make the necessary changes and reload the updated map.
30 1 ECX_INVALID_ADDRESS_TYPE Address type: &p_address_type is invalid. Invalid address type. Check section of Message Designer chapter for list of supported address types.
30 1 ECX_INVALID_NUMBER Binding value &pre_var_value for bind variable &variable_name is an invalid number. Usage of the action in the message map contained an invalid number for the given Bind Value and Bind Variable combination. Use Message Designer to review the Source Definition of the map for all usage of the Append Where Clause, make the necessary changes, and reload the updated map.
30 1 ECX_MAPPINGS_NOT_FOUND Mappings for Map ID: &MAP_ID not found. Map details for given Map ID not found because incorrect mappings, such as level cross overs, were detected. Use Message Designer to review the message map. Make the necessary changes, and reload the updated map.
30 1 ECX_MATH_FUNC_NOT_NULL Math function type cannot be null. Usage of Math function is incomplete. Use Message Designer to review all math functions defined, make the necessary changes, and reload the updated map.
30 1 ECX_ROOT_ELEMENT_NOT_FOUND Root Element information not found for Map ID: &MAP_ID. Root element information not found for given message map. Use the Message Designer to open the map and use the option to add the root element. Reload the updated map.
30 1 ECX_ROOT_INFO_NOT_FOUND Map root element or parent node ID not found. Root element or parent node ID not found for given message map. Use Message Designer to open the map, and use the option to add the root element or parent node ID. Reload the updated map.
30 1 ECX_SEED_DATA_NOT_FOUND Seed Data is missing for Map ID: &MAP_ID. Map data missing for given Map ID. Make sure you are operating in the desired database instance.
30 2 ECX_STACKVAR_NOT_FOUND Stack Variable not found. Error in processing global variables. Inform System Administrator or log a bug.
30 1 ECX_UNSUPPORTED_COND_TYPE Unsupported condition type: &TYPE. Review map actions using Message Designer to ensure that the condition expressions are defined correctly with two operands and a valid operator. Make the necessary changes and reload the updated map.
30 2 ECX_UNSUPPORTED_DATATYPE Unsupported Data Type. The message map contained usage of unsupported data types. Use the Message Designer to review the message map to verify that only the VARCHAR2, NUMBER, DATE, CHAR, and CLOB data types are used. Make the necessary map changes and reload the updated map.
30 1 ECX_UNSUPPORTEDDATE_COND Unsupported Condition for Date. Cannot use Condition Expression to compare dates. Use database functions instead to compare dates.
30 1 ECX_UNSUPPORTED_MATH_FUNC Unsupported Math function. XML Gateway supports the four basic math functions: add, subtract, multiply, and divide. Use database functions for other math functions.
30 1 ECX_UNSUPPORTED_NUMBER_COND Unsupported Condition for Number. Unsupported condition for numbers. Verify that the condition operator is relevant for numbers. Make the necessary map changes and reload the updated map.
30 1 ECX_UNSUPPORTED_STRING_COND Unsupported Condition for Strings. Unsupported condition for strings. Verify that condition operator is relevant for strings. Make the necessary map changes and reload the updated map.

Inbound Processing Errors

Error Type Error Code Error Message Code Message Corrective Action
10 10 ECX_REPROCESSING_MESSAGE Reprocessing message. Reprocessing message.
25 1 ECX_PROTOCOL_ADDR_NULL Destination Address missing for party ID: &p_tp_detail_id. Inbound message envelope did not contain a protocol address for the given Trading Partner. Use the window to view/update the Trading Partner's protocol address.
30 2 ECX_MSG_EXISTS_IN_LOG Message already in the Log &p_msgid. Inbound message already exists; duplicate not allowed.
30 1 ECX_MSGID_NOT_FOUND Msg Id: &p_msgid not Found. Inbound message for given message ID not found. Make sure the message ID is valid.
30 1 ECX_UNSUPPORTED_STANDARD Not a Supported Standard in the XML Gateway Server. Inbound message envelope indicates message is for an XML standard not supported by Oracle E-Business Suite. Use the Define XML Standards window to view the list of supported standards. Enter an enhancement request for the required XML standard and identify the transactions that require this new standard.

General Processing Errors

Error Type Error Code Error Message Code Message Corrective Action
10 10 ECX_PROCESSING_MESSAGE Processing message. N/A
10 10 ECX_TRIGGER_OUTBOUND Triggering outbound. N/A
25 1 ECX_PARSE_ERROR Parse Error. Parse error encountered because the generated or received XML message was poorly formed or invalid as per the DTD. The other possible reason for a parse error is that the DTD referenced in the map is not the same DTD that was passed. Make sure that the DTD referenced in the map is loaded into the XML Gateway repository.
30 1 ECX_DOCLOGS_NOT_EXISTS No document log exists for message ID: &p_msgid. ECX_DOCLOGS entry does not exist for the given message ID. Ensure that the message ID is valid.
30 1 ECX_DTD_NOT_FOUND DTD not found for Map ID: &MAP_ID. The DTD referenced in the message map was not found because the map referenced the wrong DTD or the DTD was not loaded into the XML Gateway repository. Use Message Designer to check the DTD referenced in the map, make the necessary changes, and reload the updated map. If necessary load the correct DTD into the XML Gateway repository.
30 2 ECX_ERROR_NOT_SET Unable to set error information. Inform System Administrator or log a bug.
30 1 ECX_MAP_NOT_FOUND Not a Supported Map &p_map_code in the XML Gateway Server. Given map code associated with the outbound transaction enabled for a Trading Partner is not supported. Use the window to view/update the map code associated with the enabled outbound transaction. Make sure the map has been loaded in the XML Gateway repository.
30 2 ECX_MAP_NOT_FOUND Not a Supported Map &p_map_code in the XML Gateway Server. Given map code associated with the inbound transaction enabled for a Trading Partner is not supported. Use the window to view/update the map code associated with the enabled inbound transaction. Make sure the map has been loaded in the XML Gateway repository.
30 1 ECX_MSGID_NOT_FOUND Message ID cannot be NULL. Pass valid value for Message ID parameter.
30 1 ECX_MSGID_NOT_NULL Message ID cannot be NULL. Pass valid value for Message ID parameter.

XML Gateway API-Level Messages

The following is a list of messages generated by the XML Gateway APIs. The list is organized by API Return Code for easy reference. The list contains the following columns:

The API Return Code represents the status of the API. The calling program can interrogate the return code and provide an application-specific error handler to address the error detected. Because these messages are designed for communication between application APIs, the necessary corrective actions are addressed during the development process. There is no action required, unless you are developing a custom transaction.

API Return Code Description
0 Success
1 Warning
2 Unexpected Error
3 Null value detected for required parameter
4 Invalid parameter value
5 Cannot insert duplicate row
6 No data found for given parameter values
7 Duplicate row exists for given parameter values
8 Cannot delete due to referential integrity

Because the focus of this section is on troubleshooting, API Return Code of 0 (Success) is excluded from the following list. As of this printing, there are no seeded messages with API Return Code of 1 or 2.

API Return Code Message Code Message
3 ECX_CATEGORY_ID_NOT_NULL Code category ID is a required parameter.
3 ECX_CODE_CATEGORY_NOT_NULL Code category is a required parameter.
3 ECX_CONNECTION_TYPE_NOT_NULL Connection type is a required parameter.
3 ECX_DATA_SEEDED_NOT_NULL XRef data seeded is a required parameter.
3 ECX_DIRECTION_NOT_NULL Direction is a required parameter.
3 ECX_EMAIL_ADDRESS_NOT_NULL Email_address is a required parameter.
3 ECX_EXT_PROCESS_ID_NOT_NULL External process ID is a required parameter.
3 ECX_HUB_USER_ID_NOT_NULL Hub User ID is a required parameter.
3 ECX_LOCATION_NOT_NULL Location Code is a required parameter.
3 ECX_MAP_CODE_NOT_NULL Map Code is a required parameter.
3 ECX_PARTY_ID_NOT_NULL Party ID is a required parameter.
3 ECX_PARTY_SITE_ID_NOT_NULL Party Site ID is a required parameter.
3 ECX_PARTY_TYPE_NOT_NULL Party Type is a required parameter.
3 ECX_PROTOCOL_TYPE_NOT_NULL Protocol type is a required parameter.
3 ECX_PWD_NOT_NULL For protocol type: &p_protocol_type, the password is a required parameter.
3 ECX_STANDARD_CODE_NOT_FOUND Standard code: &p_standard_code not defined.
3 ECX_STANDARD_CODE_NULL Standard Code is a required parameter.
3 ECX_STANDARD_NOT_NULL Document standard is a required parameter.
3 ECX_TP_DTL_ID_NOT_NULL Trading partner detail ID is a required parameter.
3 ECX_TP_HDR_ID_NOT_NULL Trading partner header ID is a required parameter.
3 ECX_TRAN_SUBTYPE_NOT_NULL Transaction Subtype is a required parameter.
3 ECX_TRANSACTION_SUBTYPE_NOT_NULL Transaction type is a required parameter.
3 ECX_TRANSACTION_TYPE_NOT_NULL Transaction type is a required parameter.
3 ECX_XREF_DTL_ID_NOT_NULL XRef detail ID is a required parameter.
3 ECX_XREF_EXT_VAL_NOT_NULL XRef external value is a required parameter.
3 ECX_XREF_INT_VAL_NOT_NULL XRef internal value is a required parameter.
3 ECX_XREF_STANDARD_ID_NOT_NULL XRef standard ID is a required parameter.
3 ECX_XREF_STD_VAL_NOT_NULL XRef standard value is a required parameter.
3 ECX_USRNAME_NOT_NULL For protocol type: &p_protocol_type, the username is a required parameter.
4 ECX_DATA_OWNER_INCONSISTENT Data owner: &p_owner is inconsistent with data seeded flag: &p_data_seeded.
4 ECX_INVALID_CONF_CODE Confirmation code: &p_confirmation is invalid.
4 ECX_INVALID_DIRECTION Direction: &p_direction is invalid.
4 ECX_INVALID_EMAIL_ADDRESS Email_address: &p_email_address is invalid.
4 ECX_INVALID_EXT_PROCESS_ID External process ID: &p_ext_process_id is invalid.
4 ECX_INVALID_HUB_ID Hub ID: &p_hub_id is invalid.
4 ECX_INVALID_HUB_USER_ID Hub user ID: &p_hub_user_id is invalid.
4 ECX_INVALID_MAP_CODE Map Code: &p_map_code is invalid.
4 ECX_INVALID_PARTY_ID Party ID: &p_party_id is invalid.
4 ECX_INVALID_PARTY_SITE_ID Party_site_id: &p_party_site_id is invalid.
4 ECX_INVALID_PARTY_TYPE Party Type: &p_party_type is invalid.
4 ECX_INVALID_PROTOCOL_TYPE Protocol type: &p_protocol_type is invalid.
4 ECX_INVALID_PWD The password should not contain special characters.
4 ECX_INVALID_PWD_LEN The length of the password should be greater than 5 characters.
4 ECX_INVALID_ROUTING_ID Routing ID: &p_routing_id is invalid.
4 ECX_INVALID_TP_DETAIL_ID Tp_detail_id: &p_tp_detail_id is invalid.
4 ECX_INVALID_TP_HDR_ID Tp_header_id: &p_tp_header_id is invalid.
5 ECX_CODE_CATEGORY_EXISTS Code category: &p_xref_category_code is already defined in the table.
5 ECX_DOCUMENT_STANDARD_EXISTS Standard already exists with standard code &p_standard_code and standard type &p_standard_type.
5 ECX_DUPLICATE_TRANSACTIONS Duplicate Rows found for Transaction Type: &p_transaction_type, Transaction Subtype: &p_transaction_subtype, and Party Type: &p_party_type.
5 ECX_TP_DTL_EXISTS Trading Partner detail record for tp_header_id: &p_tp_header_id, ext_process_id: &p_ext_process_id is already defined in the table.
5 ECX_TP_DTL1_EXISTS Trading Partner detail record for the combination of External Transaction Type: &p_ext_type, External Transaction Subtype: &p_ext_subtype, Document Standard ID: &p_standard_id, Source TP Location Code: &p_source_tp_location_code is already defined for the inbound transaction.
  ECX_TP_DTL2_EXISTS Trading Partner detail already exists for this combination of tp_header_id: &p_tp_header_id, Transaction Type: &p_transaction_type, Transaction Subtype: &p_transaction_subtype for outbound transactions.
5 ECX_TP_HDR_EXISTS Trading Partner for party_type: &p_party_type, party_id: &p_party_id, party_site_id: &p_party_site_id is already defined in the table.
5 ECX_XREF_DTL_ID_ROW_EXISTS Duplicate code conversion record for header id: &p_tp_header_id, external value: &p_xref_ext_value, internal value: &p_xref_int_value, direction: &p_direction.
5 ECX_XREF_DTL_ROW_EXISTS Duplicate code conversion record for code category: &p_xref_category_code, Standard code: &p_standard_code, external value: &p_xref_ext_value, internal value: &p_xref_int_value, direction: &p_direction.
5 ECX_XREF_STD_ID_ROW_EXISTS Duplicate standard code conversion record for XRef standard ID: &p_xref_standard_id, Standard value: &p_xref_std_value, Internal value: &p_xref_int_value.
5 ECX_XREF_STD_ROW_EXISTS Duplicate standard code conversion record for document standard: &p_standard, Standard value: &p_xref_std_value, Internal value: &p_xref_int_value.
6 ECX_CODE_CATEGORY_NOT_FOUND Code category: &p_xref_category_code not defined.
6 ECX_HUB_NOT_EXISTS No Hub definition exists for connection_type: &p_connection_type and protocol: &p_protocol_type.
6 ECX_NO_ROWS_DELETED No rows deleted in table: &p_table, &p_param_name: &p_param_id is invalid.
6 ECX_NO_ROWS_UPDATED No rows updated in table: &p_table, &p_param_name, &p_param_id is invalid.
6 ECX_NOT_FOUND No rows fetched from table: &p_table and key: &p_key.
6 ECX_STANDARD_NOT_FOUND Document standard: &p_standard not found.
6 ECX_STANDARD_ROW_NOT_FOUND No standard found with standard code &p_standard_code and standard type &p_standard_type.
6 ECX_TP_DTL_NOT_FOUND No trading partner detail records found for tp_header_id: &p_tp_header_id, ext_process_id: &p_ext_process_id.
6 ECX_TP_DTL1_NOT_FOUND No trading partner detail records found for party_type: &p_party_type, party_id: &p_party_id, party_site_id: &p_party_site_id, transaction_type: &p_transaction_type, transaction_subtype: &p_transaction_subtype, standard code: &p_standard_code, direction.
6 ECX_TP_HDR_NOT_FOUND No trading partner header records found for party type: &p_party_type, party_id: &p_party_id, party_site_id: &p_party_site_id.
6 ECX_TRANSACTION_NOT_FOUND No Transaction defined for Transaction Type: &p_transaction_type, Transaction Subtype: &p_transaction_subtype, and Party Type: &p_party_type.
6 ECX_XREF_DTL_EXT_ID_NOT_FOUND No code conversion detail records found for standard code: &p_standard_code, code category: &p_xref_category_code, tp header ID: &p_tp_header_id, external value: &p_xref_ext_value.
6 ECX_XREF_DTL_INT_ID_NOT_FOUND No code conversion detail records found for standard code: &p_standard_code, code category: &p_xref_category_code, tp header ID: &p_tp_header_id, internal value: &p_xref_int_value.
6 ECX_XREF_DTL_NOT_FOUND No code conversion detail records found for standard code: &p_standard_code, code category: &p_xref_category_code, direction: &p_direction, external_value: &p_xref_ext_value, internal value: &p_xref_int_value.
7 ECX_STANDARD_TOO_MANY_ROWS More than one row exists for the unique key-standard code: &p_standard_code and standard type: &p_standard_type.
7 ECX_TOO_MANY_ROWS More than one row fetched from table: &p_table and key: &p_key.
7 ECX_TP_DTL_TOO_MANY_ROWS Number of records fetched is greater than one for tp_header_id: &p_tp_header_id, ext_process_id: &p_ext_process_id.
7 ECX_TP_DTL1_TOO_MANY_ROWS Number of records fetched is greater than one for party_type: &p_party_type, party_id: &p_party_id, party_site_id: &p_party_site_id, transaction_type: &p_transaction_type, transaction_subtype: &p_transaction_subtype, standard_code: &p_standard_code, direction
7 ECX_TP_HDR_TOO_MANY_ROWS Number of records fetched is greater than one for party_type: &p_party_type, party_id: &p_party_id, party_site_id: &p_party_site_id.
7 ECX_TRANS_TOO_MANY_ROWS Too many rows in transactions for Transaction Type: &p_transaction_type, Transaction Subtype: &p_transaction_subtype, and Party Type: &p_party_type.
7 ECX_XREF_DTL_EXT_TOO_MANY_ROWS Number of records fetched is greater than one for standard code: &p_standard_code, code category: &p_xref_category_code, tp header ID: &p_tp_header_id, external_value: &p_xref_ext_value.
7 ECX_XREF_DTL_INT_TOO_MANY_ROWS Number of records fetched is greater than one for standard code: &p_standard_code, code category: &p_xref_category_code, tp header ID: &p_tp_header_id, internal value: &p_xref_int_value.
8 ECX_CODE_CATEGORY_REFERENCED Unable to delete code category ID: &p_category_id because it is referenced in other tables.

XML Gateway Version Validation

Associated with each data definition or map file are the major and minor version numbers indicating the version of Message Designer used to create the map. The numbers are available in the <ECX_MAJOR_VERSION> and<ECX_MINOR_VERSION> tags. Message Designer will compare the map version number to the Message Designer version number (available in the Help >About Menu) and will open the map only if the major versions are the same and the minor versions are the same or lower.

In addition, the map version numbers will be compared to the XML Gateway installed version number (available in WF_RESOURCES.ECX_VERSION) when you attempt to load the maps into the XML Gateway repository. The maps will be loaded only if the major versions are the same and the minor versions are the same or lower.

Problem: Error while running LoadMap

Version Incompatible: XML Gateway 2.10 map is not supported by currently installed XML Gateway 2.6.

Sample error message:

 Java oracle.apps.ecx.loader.LoadMap apps apps $JDBC mymap.xgm Database Connect String
(PORT=1543))(CONNECT_DATA=(SID=ecxcert)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ap935sun
)UserName apps
Connecting...
connected.
Installed XML Gateway Version: 2.6.0.0
Started Processing of the Document
Processing Instructions for xmlGateway=> MAP
Map Code: ECX_POO Using Old Map id: 19
Version Incompatible: XML Gateway 2.10 map is not supported by currently installed XML Gateway 2.6.0.0

Solution: Upgrade installed XML Gateway

The following table shows the compatibility of other sample map and XML Gateway versions. The version numbers are available in the <ECX_MAJOR_VERSION> and <ECX_MINOR_VERSION> tags.

In the example version 2.6, 2 is the major version number, and 6 is the minor version number.

Installed XML Gateway Version XGM/LOADER Version Compatible/ Incompatible Action
2.6.0.0 2.10.0.0 Incompatible Upgrade XML Gateway
2.6.0.0 2.6.0.0 OK None
2.10.0.0 2.6.0.0 OK None
2.6.0.0 2.4.0.0 OK None
2.6.0.0 1.1.0.0 Incompatible Upgrade Map
2.6.0.0 3.1.0.0 Incompatible Upgrade XML Gateway

Problem: Error while processing transaction (using debug level 3)

Sample error message:

  Enter ECX_UTILS.INITIALIZE
 i_map_id==>19
Enter ECX_UTILS.CHECK_VERSION
 i_major_version==>2
i_minor_version==>10
i_eng_version==>2.6.0.0
i_eng_major_version==>2
i_eng_minor_version==>6
Exit ECX_UTILS.CHECK_VERSION
[ECE_PROGRAM_ERROR] PROGRESS_LEVEL=ecx_utils.INITIALIZE   
[ECE_ERROR_MESSAGE] ERROR_MESSAGE=Version Incompatible: XML Gateway version 2.10 is not supported by currently installed XML Gateway 2.6.0.0
Exit ecx_utils.INITIALIZE
Clean-up i_stack, l_node_stack and i_tmpxmlExit
 ECX_OUTBOUND.PROCESS_OUTBOUND_DOCUMENTS   
ECX_UTILS.INITIALIZE: Version Incompatible: XML Gateway version 2.10 is not supported by currently installed XML Gateway 2.6.0.0

Exit ECX_OUTBOUND.GETXML

Solution: Upgrade installed XML Gateway

At runtime, the engine compares the version from the .xgm file to the installed XML Gateway version. The Loader and the Engine only support maps that have the same major version and same (or lower) minor version. XML Gateway will return an error message if the versions are incompatible.

The following table shows other sample error conditions while processing transaction:

Installed XML Gateway Version XGM/LOADER Version Compatible/ Incompatible Action
2.6.0.0 2.10.0.0 Incompatible Upgrade XML Gateway
2.6.0.0 2.6.0.0 OK None
2.10.0.0 2.6.0.0 OK None
2.6.0.0 2.4.0.0 OK None
2.6.0.0 1.1.0.0 Incompatible Upgrade Map
2.6.0.0 3.1.0.0 Incompatible Upgrade XML Gateway

Common SSL Issues

The following are common errors encountered during SSL handshake:

javax.net.ssl.SSLHandshakeException

javax.net.ssl.SSLHandshakeException: Untrusted Cert Chain

       at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA12275)
       at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(DashoA12275)
       at oracle.apps.ecx.oxta.getSSLConnection(SSLConnection.java:132)

Caused by: java.security.cert.CertificateException: Untrusted Cert Chain

       at oracle.security.pki.ssl.C15.checkClientTrusted(C15)
       at oracle.security.pki.ssl.C15.checkServerTrusted(C15)
       at oracle.security.pki.ssl.C02.checkServerTrusted(C02)
       at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(DashoA12275)

Description: This means that the client failed to authenticate the server.

Resolution: To rectify this error, add the top level CA certificate of the destination server as a trusted certificate in the wallet. This is assuming that the server presents its entire certificate chain during SSL handshake. If it is configured to present only the leaf level certificate, then all the CA certificates in the chain have to be added to the wallet as trusted certificates.

javax.net.ssl.SSLHandshakeException

Received fatal alert: unknown_ca

        at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA12275)
        at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.b(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(DashoA12275)
        at oracle.apps.ecx.oxta.getSSLConnection(SSLConnection.java:132)

Description: This means client authentication failed.

Resolution: To rectify this error, the user certificate in the wallet along with issuer CA certificates if there are any has to be sent over to the server and used in the configuration for client authentication.

Oracle Diagnostic Tests

Oracle Diagnostics provides a mechanism that makes Oracle E-Business Suite more supportable and robust by providing predefined tests to check for key setup requirements. Oracle XML Gateway provides several tests through Oracle Diagnostics that you can use to check the setup of XML Gateway and review debugging information.

You can access Oracle Diagnostics through different user interfaces, including Oracle Applications Manager and other administrative consoles. For more information, see the Oracle Diagnostics Framework User's Guide.

The XML Gateway tests are available in Oracle Diagnostics under the Application Object Library application.

XML Gateway Tests

The following tests are available in the XML Gateway Tests Group.

OTA URL Validation Test

This test verifies the validity of the URLs defined for Trading Partners that are enabled for HTTP or HTTPS transport.

The test validates each URL from the output list of the OTA URL List Extraction Test by connecting to it using the proxy server setting. To avoid long delay, time limit of 30 seconds is added to the validation process so that the browser does not time out. If any connections fail, the test reports the problem encountered and the following trading partner information: TP_HEADER_ID, TP_DETAIL_ID, MAP_ID, PROTOCOL_TYPE, PROTOCOL_ADDRESS.

OTA Round Trip Test

This diagnostic verifies that Oracle Transport Agent can successfully deliver an outbound message and receive an inbound message. The test sends a sample payload using the TestingDirectOut and TestingDirectIn message maps. The following input parameters are required:

If the test fails, the full response from OTA is displayed. For descriptions of the response codes, see HTTP Response Codes.

Basic OTA Diagnostic Test

This test verifies the successful transmission by OTA of a sample message via SMTP, HTTP, and HTTP-ATCH. It requires the following parameters:

SSL Test

This test sends a sample message via HTTPS and verifies the certificate files and SSL parameters. Input parameters are:

Ping Destination Server

This test verifies that the target destination is available. The input parameters are:

Message Monitor

Use this test to query the status of inbound or outbound messages in the OXTA Log Message Table. This test enables you to check messages that are not queryable through the Transaction Monitor. You can query using any combination of the following criteria:

You can use this test in conjunction with other diagnostic tests that create sample messages. Use the message ID from the sample message to monitor its success.

DTD Validation Test

This test determines if all DTDs loaded into the database are valid. This test does not require input parameters. If invalid DTDs are found, the test returns a Failure result and lists the DTD_ID RootElement of the invalid DTDs. To resolve, reload the invalid DTDs.

Map Engine Compatibility Test

This diagnostic verifies that the map version is compatible with the XML Gateway engine version. A map is compatible with the engine if the map major version numbers are the same and the map minor version is less than or equal to the engine minor version. This test does not require input parameters.

If a map fails the test, the Map ID, Map Code, and version numbers are reported.

To resolve this error, upgrade the engine version.

Procedure Validity Test

This diagnostic verifies that all user-defined procedures used by supported maps exist and are valid. This test does not require input parameters.

If the test finds an invalid procedure, the following details are reported: ProcedureFullName, Map_ID, Map_Code, Problem Cause, and Problem.

To resolve, review the procedure to ensure that it exists and is valid. Also verify that the defined procedure reflects the latest version of the API.

XSLT Validation Test

This diagnostic verifies that all style sheets referenced by supported maps exist and are valid. The test queries the database first and if necessary queries the file system directory identified by the ECX: XSLT File Path system profile. This test does not require input parameters.

It the test finds an invalid XSLT, it returns the following details: MAP_ID, MAP_CODE, XSLTFileName, ProblemCause.

To resolve, reload the invalid XSLT.

XML Gateway Engine Test

This diagnostic verifies the XML Gateway engine is working properly. This test does not require input parameters.

The TestingDirectOut and TestingDirectIn message maps are used in this test to analyze the following parameters:

If the test finds an error, the following details are returned: OutboundReturnCode, OutboundErrorMessage, OutboundLogFile, InboundReturnCode, InboundErrorMessage, and InboundLogFile.

To resolve this error, verify that all packages related to XML Gateway are valid.

OTA URL List Extraction Test

This test outputs a list of URLs which are defined in the Protocol Address field in the Trading Partner Setup form for Trading Partners enabled for HTTP or HTTPS protocol type.

The output URL can be used as input to the OTA URL Validation Test for the URL validation.