This section represents the information needed to deploy the API in IIS.
Each API must use a separate application pool.
Example section using Smart API Manager as the authorization server
"WebServers": [
{
"WebServerType": "Plant",
"MachineName": "IN-ACME108477",
"IisConfigurationSettings": {
"WebSiteName": "Smart 3D Web API",
"HttpPort": "9000",
"IsHttpsEnabled": true,
"HttpsPort": "44311",
"CertificateSubject": "*.acme.com",
"ApplicationName": "WebApi",
"ApplicationPool": "PlantAppPool",
"OverrideBaseURL": true
},
"SamRegistrationSettings": {
"ServiceManagerUrl": "https://in-s3dwebatp.acme.com/sam/oauth",
"WebServiceRegistration": {
"BaseUri": "https://in-acme108477.acme.com:44311/WebApi/",
"Prefix": "s3d/v1",
"ServiceId": "8B517F3A-84EF-4536-AADE-04F622D14A3D"
}
},
"CorsSettings": {
"AllowedOrigins": "*",
"AllowedMethods": "GET,PATCH,PUT,POST,DELETE",
"AllowedHeaders": "*",
"ExposedHeaders": "",
"AllowCredentials": false,
"PreflightMaxAge": 600
},
"FlattenedMetadata": {
"AllowedClients": "255386E6-24B4-4DA4-ACCB-DE255BFAAF04,A4BBE198-3E6C-4BA7-863A-3E815D0CCBCB,0oa5sc4dtgUZkYPz40x7"
}
},
{
"WebServerType": "Admin",
"MachineName": "IN-ACME108477",
"IisConfigurationSettings": {
"WebSiteName": "Smart 3D Admin Web API",
"HttpPort": "8080",
"IsHttpsEnabled": true,
"HttpsPort": "44323",
"CertificateSubject": "*.acme.com",
"ApplicationName": "AdminWebAPI",
"ApplicationPool": "AdminAppPool",
"OverrideBaseURL": true
},
"SamRegistrationSettings": {
"ServiceManagerUrl": "https://in-s3dwebatp.acme.com/okta/oauth",
"WebServiceRegistration": {
"BaseUri": "https://in-acme108477.acme.com:44323/AdminWebAPI/",
"Prefix": "s3dadmin/v1",
"ServiceId": "8E123A04-727D-4A06-889C-0771D9AB8CD9"
}
},
"CorsSettings": {
"AllowedOrigins": "*",
"AllowedMethods": "GET,PATCH,PUT,POST,DELETE",
"AllowedHeaders": "*",
"ExposedHeaders": "",
"AllowCredentials": false,
"PreflightMaxAge": 600
},
"FlattenedMetadata": {
"AllowedClients": "255386E6-24B4-4DA4-ACCB-DE255BFAAF04,A4BBE198-3E6C-4BA7-863A-3E815D0CCBCB,0oa5sc4dtgUZkYPz40x7"
}
}
]
Example section using Okta as the authorization server
"WebServers": [
{
"WebServerType": "Plant",
"MachineName": "IN-ACME108477",
"IisConfigurationSettings": {
"WebSiteName": "Smart 3D Web API",
"HttpPort": "9000",
"IsHttpsEnabled": true,
"HttpsPort": "44311",
"CertificateSubject": "*.ingrnet.com",
"ApplicationName": "WebApi",
"ApplicationPool": "PlantAppPool",
"OverrideBaseURL": true
},
"SamRegistrationSettings": {
"ServiceManagerUrl": https://in-s3dwebatp.acme.com/sam/oauth,
"WebServiceRegistration": {
"BaseUri": https://in-ali108477.acme.com:44311/WebApi/,
"Prefix": "s3d/v1",
"ServiceId": "8B517F3A-84EF-4536-AADE-04F622D14A3D"
}
},
"CorsSettings": {
"AllowedOrigins": "*",
"AllowedMethods": "GET,PATCH,PUT,POST,DELETE",
"AllowedHeaders": "*",
"ExposedHeaders": "",
"AllowCredentials": false,
"PreflightMaxAge": 600
},
"FlattenedMetadata": {
"AllowedClients": "255386E6-24B4-4DA4-ACCB-DE255BFAAF04,A4BBE198-3E6C-4BA7-863A-3E815D0CCBCB,0oa5sc4dtgUZkYPz40x7"
}
},
{
"WebServerType": "Admin",
"MachineName": "IN-ALI108477",
"IisConfigurationSettings": {
"WebSiteName": "Smart 3D Admin Web API",
"HttpPort": "8080",
"IsHttpsEnabled": true,
"HttpsPort": "44323",
"CertificateSubject": "localhost",
"ApplicationName": "AdminWebAPI",
"ApplicationPool": "AdminAppPool",
"OverrideBaseURL": true
},
"SamRegistrationSettings": {
"ServiceManagerUrl": https://in-s3dwebatp.ingrnet.com/sam/oauth,
"WebServiceRegistration": {
"BaseUri": https://localhost:44323/AdminWebAPI/,
"Prefix": "s3dadmin/v1",
"ServiceId": "8E123A04-727D-4A06-889C-0771D9AB8CD9"
}
},
"CorsSettings": {
"AllowedOrigins": "*",
"AllowedMethods": "GET,PATCH,PUT,POST,DELETE",
"AllowedHeaders": "*",
"ExposedHeaders": "",
"AllowCredentials": false,
"PreflightMaxAge": 600
},
"FlattenedMetadata": {
"AllowedClients": "255386E6-24B4-4DA4-ACCB-DE255BFAAF04,A4BBE198-3E6C-4BA7-863A-3E815D0CCBCB,0oa5sc4dtgUZkYPz40x7"
}
}
]
Description
The WebServers section includes the web server information for each web API. There is a separate sub-section for each API, even if both APIs use the same web server.
Web server information
-
WebServerType - The API that the web server is for, either Plant or Admin.
-
MachineName - The name of the machine.
-
IisConfigurationSettings - The IIS information for the site.
-
WebSiteName - The name of the website for the API.
HttpPort - The port that services will use to connect to the website if HTTPS is not used. By default, this is port 80.
-
IsHttpsEnabled - Indicates whether the site uses HTTPS (true) or not (false).
-
HttpsPort - The port that services will use to connect to the website if HTTPS is used. By default, this is port 443.
-
CertificateSubject - The domain covered by the site security certificate.
-
ApplicationName - The name of the application used to run the API.
-
ApplicationPool - A unique name for the application pool used to run the API.
Each API must use a separate application pool.
-
Authorization server information
The WebServers > SamRegistrationSettings sub-section indicates whether the API uses Smart API Manager as the authorization server and, if so, the information necessary for connecting to and registering with the authorization server.
-
ServiceManagerUrl - The URL for the authorization server.
-
WebServiceRegistration - The information needed to register the API with API the authorization server:
-
BaseUri - The base URI for the service.
-
Prefix - The prefix for web services, added to the end of the base URI.
-
ServiceId - The ID of the service to use for authorization. The ID must be in GUID format.
-