Update XML Error Response Template

Overview

Updates XML error response template for an API proxy. XML error template defines the format of error responses for SOAP/XML APIs.

Endpoint

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

Authentication

Requires a Personal API Access Token.

Authorization: Bearer YOUR_TOKEN

Request

Headers

Header Value Required
Authorization Bearer {token} Yes
Content-Type application/json Yes

Path Parameters

Parameter Type Required Description
projectName string Yes Project name
apiProxyName string Yes API Proxy name

Request Body

Full JSON Body Example

{
  "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
}

Request Body Fields

Field Type Required Default Description
xmlErrorResponseTemplateActive boolean No false Enable/disable XML error template
xmlValue string No - XML error response template
contentType string No text/xml;charset=UTF-8 Content type for error response
permitSpecialChars boolean No false Permit 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

Field Type Description
success boolean Indicates if the request was successful

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 '{
    "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 '{
    "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
  }'

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
  • Permissions: Requires ROLE_MANAGE_PROXIES permission