My Oracle Support Banner

R12: AP: Why Payables REST Webservices API Create Suppliers Do Not Show Error Messages When Message Count is More Than One(1) (Doc ID 2980292.1)

Last updated on OCTOBER 16, 2023

Applies to:

Oracle Payables - Version 12.2.11 and later
Information in this document applies to any platform.

Goal

Create Suppliers Using SOA Gateway Don't Show Error Messages.

Using Integrated SOA Gateway of EBS to create suppliers using REST APIs.  The API works fine but when we have any wrong value at the payload, the response attribute of X_MSG_DATA is coming empty if and only if the X_MSG_COUNT attribute has any value more than one.  But if there is a single error at the payload, X_MSG_COUNT has a value of one, then X_MSG_DATA attribute has a valid value.

When multiple errors at the payload, user is not able to identify the issues since X_MSG_DATA is null for this case.  But if there is a single error at the payload, the X_MSG_DATA has a valid value indicating what is wrong at the payload.  We were expecting -in case of multiple errors- to have all error messages included at the response, not null value.

Session of the SOAPUI tools showing the output of the Payload executed showing 1 and 3 Errors returned.

One Error:

  ("OutputParameters": {
  "@xmlns": "http://xmlns.oracle.comiapps/ap/rest/supplier/create_vendor/",
  "@xmlns:xsi": "http://www.w3.org/2001/XHILSchema-instance",
  "X_RETURN_STATUS": "E",
  "X_HSG_COUNT": "1",
  "X_MSG_DATA": "SQLAP AP_VEN_DUPLICATE_NAME",
  "X_VENDOR_ID": null,
  "X_PARTY_ID": null
  }}

Notice the highlighted lines; returning 1 single user defined Error; Payables (SQLAP) error message AP_VEN_DUPLICATE_NAME.

And Multiple Errors:

  ("OutputParameters": {
  "@xmlns": "http://xmlns.oracle.comiapps/ap/rest/supplier/create_vendor/",
  "@xmlns:xsi": "http://www.w3.org/2001/XHILSchema-instance",
  "X_RETURN_STATUS": "E",
  "X_HSG_COUNT": "3",
  "X_MSG_DATA": null,
  "X_VENDOR_ID": null,
  "X_PARTY_ID": null
  }}

Notice the highlighted lines; returning 3 Errors. But, Displaying NONE (NULL) of the 3.


Steps to reproduce:

  1. Confirm the REST Webservice API "Create Supplier".
  2. Log into Oracle Applications using "Integration SOA Gateway" responsibility
  3. Open the Integration Repository home OAF Page
    (N) Integration SOA Gateway > Integration Repository
  4. Query by Financial Payables Suite > Payables, Type = PLSQL
  5. Find the Supplier Package
  6. Find the Create Supplier
     
  7. Using SoapUI or POSTMAN create the following PAYLOAD and run it  
    ■ Method = POST
    ■ Endpoint = http://dap4************om:8015
    ■ Resource = /webservices/rest/supplier/createirendor/
    ■ Parameters =

    (Request) [ Media Type = application/json
    {
    "CREATE_VENDOR": {
    "RESTHeader": {
    "Responsibility": "STN_AP_VENDOR_ENTRY",
    "RespApplication": "SQLAP",
    "SecurityGroup": "STANDARD",
    "NLSLanguage": "AMERICAN",
    "Org_Id": ""
    },
    "InputParaneters": {
    "P_API_VERSION": "1.0",
    "P_INIT_MSG_LIST": "T",
    "P_COMIT": "T",
    "P_VALIDATION_LEVEL": "100",
    "P_VENDOR_REC": {
    "VENDOR_NAME": "Alan O*******************ing REST1",
    "VENDOR_NAME_ALT": "Alan O*******************ing REST1",
    "ENABLED_FLAG": "Y",
    "VENDOR_TYPE_LOOKUP_CODE": "GENERAL SUPPLIER",
    "ONE_TIME_FLAG": "N",
    "ORGANIZATION_TYPE_LOOKUP_CODE": "CORPORATION",
    "FEDERAL_REPORTABLE_FLAG": "N",
    "ALLOW_AWT_FLAG": "N"
    },
    "P_GROUP_ID": ""
    }
    }
    }

     
  8. Run it
  9. First got 3 Errors.  See the "Multiple Erors" output above.
  10. Reviewed and corrected 2 of the errors and run the PAYLOAD again.
  11. Now only 1 Error is shown and this time the Error message is diaplayed.  See the "One Error" output above.

 

 

Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Goal
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.