IBM Support

LI81862: USING $REF TO REUSE CODE FRAGMENTS DOES NOT WORK WITH OASV3 SPECFILES

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • As the KC does not exclude the usage of "$ref" in OpenAPI3
    format (see
    https://www.ibm.com/support/knowledgecenter/SSMNED_2018/com.ibm.
    apic.toolkit.doc/rapic_oai3_support.html ) we tried to build an
    example, but failed.
    Steps to reproduce the scenario:
    1. Build an example with $ref that works for an API in Swagger
    2 format:
    Retrieving the document from the published API clearly shows
    that the reference gets resolved.
    2. Slightly modify the example so that the API is specified in
    OpenAPI 3 format:
    The API can be published. However, the document retrieved from
    the published API shows that references do not get resolved.
    On the other hand, the following in the DataPower default ang
    gwd log when I publish your sample openAPI v3 in the API
    Connect v2018 and v10:
    V2018.4.1.13:
    ===
    20201123T152532.966Z [0x80e0084c][apic-gw-service][debug]
    apic-gw-service(default): tid(274):
    utils:persistence:lib:RedisClientWrapper: Select returned: no
    records
    20201123T152532.967Z [0x88e0022c][apic-gw-service][warn]
    apic-gw-service(default): tid(274): The object reference path
    #/components/schemas/User does not exist in the swagger
    document for API health-deref.
    20201123T152532.967Z [0x80e0084c][apic-gw-service][debug]
    apic-gw-service(default): tid(274): apic2dp:lib:index: Failed
    to compile API health-deref:4.0.0: 0x0890000c2
    ===
    V10.0.1.0:
    ===
    20201123T153913.800Z [0x88e0022c][apic-gw-service][warn]
    apic-gw-service(default): tid(256): The object reference path
    #/components/schemas/User does not exist in the swagger
    document for API health-deref.
    20201123T153913.800Z [0x80e0084c][apic-gw-service][debug]
    apic-gw-service(default): tid(256): apic2dp:lib:index: Failed
    to compile API health-deref:4.0.0: 0x0890000c2
    20201123T153913.800Z [0x88e00240][apic-gw-service][error]
    apic-gw-service(default): tid(256): Unable to refresh gateway.
    Error: Only local object references are supported in a swagger
    document.
    ===
    

Local fix

  • Workaround: put the definitions inline
    

Problem summary

  • USING $REF TO REUSE CODE FRAGMENTS DOES NOT WORK WITH OASV3 SPEC
    FILES
    

Problem conclusion

  • The product is updated in 2018.4.1.17, 10.0.3, and 10.0.1.4 to
    address the issue.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI81862

  • Reported component name

    API CONNECT ENT

  • Reported component ID

    5725Z2201

  • Reported release

    18X

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-11-24

  • Closed date

    2021-08-09

  • Last modified date

    2021-08-09

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    API CONNECT ENT

  • Fixed component ID

    5725Z2201

Applicable component levels

  • R18X PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSMNED","label":"IBM API Connect"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"18X","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 September 2021