Ana içeriğe geç

Update XML Error Response Template

Endpoint

PATCH /apiops/projects/{projectName}/apiProxies/{apiProxyName}/settings/xml-error-template/

Authentication

Requires a Personal API Access Token.

Authorization: Bearer YOUR_TOKEN

Request

Headers

HeaderValueRequired
AuthorizationBearer {token}Yes
Content-Typeapplication/jsonYes

Path Parameters

ParameterTypeRequiredDescription
projectNamestringYesProject name
apiProxyNamestringYesAPI Proxy name

Request Body

Full JSON Body Example

{
"xmlErrorResponseTemplate": {
"xmlErrorResponseTemplateActive": true,
"xmlValue": "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <soap:Body>\n <soap:Fault>\n <correlationId>#CORRELATIONID#</correlationId>\n <faultCode>#FAULTCODE#</faultCode>\n <faultString>#FAULTMESSAGE#</faultString>\n <faultStatusCode>#FAULTSTATUSCODE#</faultStatusCode>\n <responseFromApi>#RESPONSEFROMAPI#</responseFromApi>\n </soap:Fault>\n </soap:Body>\n</soap:Envelope>",
"contentType": "text/xml;charset=UTF-8",
"permitSpecialChars": false
},
"deploy": false,
"deployTargetEnvironmentNameList": []
}

Request Body Fields

FieldTypeRequiredDefaultDescription
xmlErrorResponseTemplateobjectYes-XML error template object (see fields below)
deploybooleanNofalseIf true, deploy the API proxy after saving changes
deployTargetEnvironmentNameListarray[string]No-List of environment names to deploy to (required when deploy=true)

xmlErrorResponseTemplate Fields

FieldTypeRequiredDefaultDescription
xmlErrorResponseTemplateActivebooleanNofalseEnable/disable XML error template
xmlValuestringNo-XML error response template
contentTypestringNotext/xml;charset=UTF-8Content type for error response
permitSpecialCharsbooleanNofalsePermit special characters in template

Template Variables

The XML template can use the following variables (replaced at runtime):

  • #CORRELATIONID# - Request correlation ID
  • #FAULTCODE# - Error fault code
  • #FAULTMESSAGE# - Error fault message
  • #FAULTSTATUSCODE# - HTTP status code
  • #RESPONSEFROMAPI# - Response from backend API (if available)

Default Template

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<correlationId>#CORRELATIONID#</correlationId>
<faultCode>#FAULTCODE#</faultCode>
<faultString>#FAULTMESSAGE#</faultString>
<faultStatusCode>#FAULTSTATUSCODE#</faultStatusCode>
<responseFromApi>#RESPONSEFROMAPI#</responseFromApi>
</soap:Fault>
</soap:Body>
</soap:Envelope>

Note: All fields are optional. Only provided fields are updated.

Response

Success Response (200 OK)

{
"success": true
}

Response Fields

FieldTypeDescription
successbooleanIndicates if the request was successful

When deploy=true is specified:

{
"success": true,
"deploymentResult": {
"deployed": true,
"deployedEnvironments": ["Production", "Staging"],
"failedEnvironments": []
}
}

Deployment Response Fields

FieldTypeDescription
successbooleanIndicates if the request was successful
deploymentResultobjectDeployment result details (only present when deploy=true)
deploymentResult.deployedbooleanWhether deployment was successful
deploymentResult.deployedEnvironmentsarray[string]List of environments where deployment succeeded
deploymentResult.failedEnvironmentsarray[string]List of environments where deployment failed

Error Response (400 Bad Request)

{
"error": "bad_request",
"error_description": "Invalid XML template"
}

Error Response (401 Unauthorized)

{
"error": "unauthorized_client",
"error_description": "Invalid token"
}

Error Response (404 Not Found)

{
"error": "not_found",
"error_description": "ApiProxy (name: MyAPI) was not found!"
}

cURL Example

Example 1: Enable XML Error Template

curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/xml-error-template/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"xmlErrorResponseTemplate": {
"xmlErrorResponseTemplateActive": true,
"xmlValue": "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <soap:Body>\n <soap:Fault>\n <correlationId>#CORRELATIONID#</correlationId>\n <faultCode>#FAULTCODE#</faultCode>\n <faultString>#FAULTMESSAGE#</faultString>\n </soap:Fault>\n </soap:Body>\n</soap:Envelope>",
"contentType": "text/xml;charset=UTF-8"
}
}'

Example 2: Custom XML Error Template

curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/xml-error-template/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"xmlErrorResponseTemplate": {
"xmlErrorResponseTemplateActive": true,
"xmlValue": "<error xmlns=\"http://example.com/error\">\n <id>#CORRELATIONID#</id>\n <code>#FAULTCODE#</code>\n <message>#FAULTMESSAGE#</message>\n <status>#FAULTSTATUSCODE#</status>\n</error>",
"contentType": "application/xml;charset=UTF-8",
"permitSpecialChars": true
}
}'

Example 3: Save and Deploy

curl -X PATCH \
"https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/MyAPI/settings/xml-error-template/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"xmlErrorResponseTemplate": {
"xmlErrorResponseTemplateActive": true,
"xmlValue": "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <soap:Body>\n <soap:Fault>\n <correlationId>#CORRELATIONID#</correlationId>\n <faultCode>#FAULTCODE#</faultCode>\n <faultString>#FAULTMESSAGE#</faultString>\n <faultStatusCode>#FAULTSTATUSCODE#</faultStatusCode>\n </soap:Fault>\n </soap:Body>\n</soap:Envelope>",
"contentType": "text/xml;charset=UTF-8"
},
"deploy": true,
"deployTargetEnvironmentNameList": ["Production"]
}'

Notes and Warnings

  • Template Variables: Use #VARIABLE# syntax for runtime replacement
  • XML Format: Template must be valid XML
  • Content Type: Default is text/xml;charset=UTF-8 for SOAP
  • Special Characters: When permitSpecialChars=true, special characters are not escaped
  • Active Flag: Set xmlErrorResponseTemplateActive=true to enable template
  • SOAP APIs: Primarily used for SOAP/XML APIs
  • Deploy: When deploy=true, the API proxy is automatically deployed after saving. Provide deployTargetEnvironmentNameList with target environment names

Permissions

User must have API_MANAGEMENT + MANAGE permission in the project.