-
Notifications
You must be signed in to change notification settings - Fork 234
Description
Release version
v7.0.0-beta.1.0.0
Describe the bug
@guythetechie
Bug 760 was slated to be resolved in v7alpha1.0.2
I tested this in v7.0.0-beta.1.0.0 and it doesn't work as expected.
Here is the scenario and how to reproduce the issue and possible root cause.
Scenario:
I imported an openapi spec petstore 3.x
Went into the APIM - API and cleared out "Web service URL"
Ran extractor . I can see in the extracted apiinformation.json serviceurl is not there.
So far everything look good.
I Publish back the artifact into APIM.
As I trace the API, I can get these steps happening
- makes a get call to get the DTO object for the API
- PUT call to API with "serviceUrl": null along with other properties
- Get call to DTO object. And I can see "serviceUrl": null, in response object
- PUT call to publish API specification.yaml .
- GET call to get DTO object of API. I can see in the response ""serviceUrl" getting set to apim URL
The issue is; the 4th API call where it PUT API spec, APIM would default serviceurl back to APIM instance URL
I think if you re-order the API call sequence it will work.
Basically the step 2 have to be executed between 4 and 5
Expected behavior
If serviceurl is empty on the extracted api artifact, publisher should publish the api with empty serviceurl
Actual behavior
publisher publishes the api spec as the last step and APIM set the serviceurl to apim instance as it's default behavior. If the sequence is re-ordered I believe the issue can be resolved
Reproduction Steps
import an openapi spec petstore 3.x
go into the APIM - API and clear out "Web service URL"
Ran extractor .Publish back the artifact into APIM.
Check APIM API again. The web service URL is the "apim instance url"