I am trying to automate a SOAP pass-through API deployment in Azure APIM using ARM template. Here are the steps I followed:
- Created the API on azure portal by importing the WSDL file.
- Used the "Automation scripts" to generate and download the ARM configuration for the API from the APIM instance.
- Extracted this ARM template for the following resources and parameterized it:
- Microsoft.ApiManagement/service/apis
- Microsoft.ApiManagement/service/apis/operations
- Microsoft.ApiManagement/service/apis/schemas
- Microsoft.ApiManagement/service/products/apis
- Used Visual Studio (2017) to deploy the ARM template on Azure.
The API and its related operations etc. are deployed successfully. However, I observed the following two things:
- Azure APIM did not mark this API as SOAP.
- The API endpoint does not work: i keep getting a 404 when trying to access it.
This is the ARM template for the API:
{
"comments": "= = = API = = =",
"type": "Microsoft.ApiManagement/service/apis",
"name": "[concat(variables('apimInstanceName'), '/', parameters('apiName'))]",
"apiVersion": "2017-03-01",
"scale": null,
"properties": {
"displayName": "[parameters('apiName')]",
"apiRevision": "1",
"description": "SOAP service",
"serviceUrl": "[parameters('serviceUrl')]",
"path": "[parameters('apiName')]",
"protocols": [
"http",
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"type": "soap",
"isCurrent": true,
"apiType": "soap"
},
"dependsOn": [
]
}
I have not posted the ARM template for other components just to keep a check on the length of this post.
Am I missing anything in the API template to make it work as desired?