This section presents the following troubleshooting topics:
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.
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.
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 ----------------------------------
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:
Shutdown webMethods first before shutting down the Oracle Exchange database and start webMethods after starting up the database. Otherwise messages will not be delivered because of stale database connections.
Set NLS_LANG for webMethods to AMERICAN_AMERICA.UTF8.
Values for dbUser, dbPass and dbinstance have not been updated in the exchange_config.prop file.
Packages have been copied in the replicate/inbound directory but not loaded into webMethods. Login into the webMethods and verify the version of packages (Exchange.zip 115.14 and OracleExchange.zip 115.14).
If you see an error message like following on the TxnMonitor.jsp - 'Job Failed: [Tx] Expired transaction', it indicates that either URL provided by user is not correct or the customer's webMethods Server is down.
Any 'Guranteed Delivery disabled for webMethods' error should be resolved by the standard instructions given by webMethods support to reset the guranteed delivery. The error might be due to wrong version of webMethods.
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.
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).
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.
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.
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.
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:
Flexible search criteria to support access to a specific document or group of documents
Search results at the document header level with drill down by document ID
Resend capability for outbound messages
Viewing capability of the XML message content
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:
Select this radio button to search for inbound messages, and then select a 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.
Select this radio button to search for outbound messages, and then select the Generation Status, Delivery Status, and Retry 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.
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.
Select the retry status of the outbound message(s) for which you want to search. Valid values are All, Pending, Warning, Error, and Success.
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.
The transaction subtype is a code relating to the transaction type. Select a value from the Search and Select window.
The source TP location code is the source trading partner of the message. Select a value from the Search and Select window.
Select the trading partner name from the Search and Select window.
Enter the document ID provided by Oracle e-Business Suite.
Select the site name associated with the Trading Partner from the Search and Select window.
Select the party type from the LOV. To search for all party types, select the blank LOV option.
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).
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.
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)
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.
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.
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.
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.
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.
The date and time the document was processed.
The processing status of an inbound message. Valid values are Pending, Warning, Error, and Success.
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.
The document ID drills down to the message detail screen.
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.
The transaction type is the product short name for the base Oracle E-Business Suite application associated with the transaction.
The transaction subtype is a code relating to the transaction type.
The date and time the message was generated.
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.
The date and time the message was delivered.
Possible values of delivery status are: Pending, Warning, Error, and Success.
Note: A Delivery Status of "Success" indicates that the message was delivered successfully.
The "retry" date of the message. The Retry Status column is updated if Resend was initiated from the search detail window.
Possible values are: Pending, Warning, Error, and Success.
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.
The details screen is displayed when you drill down on the Document ID field.
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:
The unique number generated by the execution engine.
The Trading Partner identifier.
The type of Party, such as Customer, Supplier, or Bank.
The trading partner's site name.
A message regarding the status of the transaction. Refer to Manual Troubleshooting for information on how to interpret messages and resolve reported errors.
The name and location of the processing log file. Use it to trace the process flow and identify errors.
Clicking this button displays the XML message in the View XML page.
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:
The identifier of the Trading Partner you are doing business with.
The site name associated with the Trading Partner.
The URL the document was sent to.
Valid values are Success, Error, Pending, or Warning.
The message returned by the system regarding the status of the transaction. For information regarding the interpretation of this message, see Manual Troubleshooting Steps.
The name and location of the logfile. If this is a failed transaction, see Manual Troubleshooting Steps.
The message returned by the system regarding the status of the delivery.
The message returned by the system regarding the status of the retry message.
Select this button to display the XML message in the View XML page. This button is enabled when the Generation Status is "Success".
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.
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:
Engine-level - error messages generated by the XML Gateway execution engine.
API-level - error messages generated by APIs.
HTTP Response Codes - error response codes returned in the HTTP Response by the OTA server
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:
Error Type
Error Code
Message Code
Message
Corrective Action
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.
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. |
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.
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." |
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. |
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.
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. |
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. |
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. |
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. |
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. |
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:
API Return Code
Message Code
Message
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. |
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.
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
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 |
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
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 |
The following are common errors encountered during SSL handshake:
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.
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 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.
The following tests are available in the XML Gateway Tests Group.
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.
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:
OTAURL
Username/Password
ProxyHost
ProxyPort
If the test fails, the full response from OTA is displayed. For descriptions of the response codes, see HTTP Response Codes.
This test verifies the successful transmission by OTA of a sample message via SMTP, HTTP, and HTTP-ATCH. It requires the following parameters:
Target - the URL to which OTA will send the sample message
Email - the administrator's e-mail address
Username/Password
SMTP, HTTP, HTTP-ATCH - set to "YES" to test
Time to Live - the time in seconds that the test will continue if a response has not been received
Note: A reasonable setting for the Time to Live parameter depends on the load in your environment.
If the test returns a successful response, but the report shows no entries for the message IDs, the Time to Live parameter was not set high enough for the test to complete. In this case you can either increase the Time to Live and resubmit the test, or you can manually check the message IDs in the Message Monitor (described below). If you choose to check manually, allow a reasonable lapse of time for the messages to be picked up by OTA.
This test sends a sample message via HTTPS and verifies the certificate files and SSL parameters. Input parameters are:
Username/Password
Party ID/Party Site ID
Target - the URL to which OTA will send the sample message
Time to Live - the time in seconds that the test will continue if a response has not been received. See the note above regarding the Time to Live parameter.
This test verifies that the target destination is available. The input parameters are:
Target - the URL of the server for OTA to test
Username/Password
ProxyHost
ProxyPort
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:
Date
MessageID
Direction
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.
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.
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.
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.
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.
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:
outbound_ret_code
outbound_errbuf
outbound_logfile
inbound_ret_code
inbound_errbuf
inbound_logfile
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.
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.