Uno de los primeros reclamos de los desarrolladores cuando comienzan a utilizar servicios sobre Datapower es los mensajes de error poco expl铆citos y en siempre con la misma informaci贸n.

El mensaje est谩ndar es:

<?xmlversion=1.0encoding=utf-8?>
<env:Envelopexmlns:env=http://schemas.xmlsoap.org/soap/envelope/>
聽 <env:Body>
聽聽聽 <env:Fault>
聽聽聽聽聽 <faultcode>env:Clientfaultcode>
聽聽聽聽聽 <faultstring>Internal Error (from client)faultstring>
聽聽聽 env:Fault>
env:Body>

env:Envelope>

En general la pol铆tica que aplica el appliance es divulgar la menor informaci贸n posible hacia el exterior, pero a nivel de administraci贸n o logs la informaci贸n tiene un nivel de detalle adecuado.

Existe una forma muy simple de personalizar los mensajes de error en un servicio XML Firewall en Datapower para obtener respuestas m谩s amigables o que cumplan un determinado formato.

Lo que se debe hacer es agregar una regla de Error a la Pol铆tica y utilizar una plantilla para obtener el formato deseado.

Paso 1: Crear una Regla de Error.

Paso 1 – Click en la im谩gen para maximizar
Paso 2:
a – Asignar una plantilla de transformaci贸n con el mensaje deseado.
Paso 2.a – Click en la im谩gen para maximizar
b 鈥 asignar informaci贸n de detalle al error
<?xmlversion=1.0encoding=UTF-8?> 

<xsl:stylesheetversion=2.0xmlns:xsl=http://www.w3.org/1999/XSL/Transformxmlns:fo=http://www.w3.org/1999/XSL/Formatxmlns:xs=http://www.w3.org/2001/XMLSchemaxmlns:fn=http://www.w3.org/2005/xpath-functions 

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 xmlns:dp=http://www.datapower.com/extensions 

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 extension-element-prefixes=dp 

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 exclude-result-prefixes=dp>
聽 <xsl:templatematch=/> 

聽聽聽聽聽 <Respuesta>
聽聽聽聽聽聽聽 <codigo>-99999codigo> 

聽聽聽聽聽聽聽 <descripcion>No se ha podido procesar el archivo correctamentedescripcion> 

聽聽聽聽聽聽聽 <detalle>
聽聽聽聽聽聽聽聽聽 <xsl:value-ofselect=dp:variable(‘var://service/error-message’)/> 

聽聽聽聽聽聽聽聽聽 <xsl:value-ofselect=dp:variable(‘var://service/error-code’)/> 

聽聽聽聽聽聽聽聽聽 <xsl:value-ofselect=dp:variable(‘var://service/error-subcode’)/>  

聽聽聽聽聽聽聽 detalle>
聽聽聽聽聽 Respuesta>
xsl:template>
xsl:stylesheet> 

Paso 3 (opcional): Asignar una acci贸n de OnError a la relga base de ejecuci贸n.
Paso 3.a – Click en la im谩gen para maximizar
Paso 3.b – Click en la im谩gen para maximizar
De esta forma muy simple se puede lograr una respuesta mas adecuada al desarrollador o al programa que consume los servicios expuestos en Datapower.