Policies Are Aborted When OAG Filter Fails With A Java Exception (Doc ID 2032531.1)

Last updated on AUGUST 18, 2016

Applies to:

Oracle API Gateway - Version 11.1.2 and later
Information in this document applies to any platform.

Goal

An Oracle API Gateway (OAG) filter fails with a Java exception.
The failure path of the filter which failed then is not entered, rather, the policy is aborted.

How can this failure of the filter be handled?

 

In the example messages below, an HTTP Basic Authentication filter fails with a com.vordel.circuit.authn.HTTP401Exception.

DEBUG   03/Jun/2015:15:17:21.157 [00cd] run circuit "Test HTTP Basic"...
DEBUG   03/Jun/2015:15:17:21.157 [00cd] run filter [HTTP Basic] {
DEBUG   03/Jun/2015:15:17:21.157 [00cd]     HttpBasicFilter.invoke: Send 401 exception
DEBUG   03/Jun/2015:15:17:21.157 [00cd]     401 Exception
DEBUG   03/Jun/2015:15:17:21.157 [00cd] } = 2, filter [HTTP Basic]
DEBUG   03/Jun/2015:15:17:21.157 [00cd] Filter [HTTP Basic] completes in 0 milliseconds.
DEBUG   03/Jun/2015:15:17:21.158 [00cd] ..."Test HTTP Basic" complete.
DEBUG   03/Jun/2015:15:17:21.158 [00cd] HTTP Basic
DEBUG   03/Jun/2015:15:17:21.158 [00cd] Policy 'Test HTTP Basic' {
DEBUG   03/Jun/2015:15:17:21.158 [00cd]     Filter 'HTTP Basic' Status:  ABORTED
DEBUG   03/Jun/2015:15:17:21.158 [00cd] }
DEBUG   03/Jun/2015:15:17:21.160 [00cd] 401 Exception:
com.vordel.circuit.authn.HTTP401Exception: 401 Exception
       at com.vordel.security.auth.HttpBasicAuthN.getUserCredentialsFromRequest(HttpBasicAuthN.java:53)
       at com.vordel.security.auth.HttpBasicAuthN.authenticate(HttpBasicAuthN.java:26)
       at com.vordel.circuit.authn.HttpProcessor.performAuthentication(HttpProcessor.java:84)
       at com.vordel.circuit.authn.HttpBasicProcessor.invoke(HttpBasicProcessor.java:41)
       at com.vordel.circuit.InvocationEngine.invokeFilter(InvocationEngine.java:150)
       at com.vordel.circuit.InvocationEngine.invokeCircuit(InvocationEngine.java:42)
       at com.vordel.circuit.InvocationEngine.recordCircuitInvocation(InvocationEngine.java:276)
       at com.vordel.circuit.InvocationEngine.processMessage(InvocationEngine.java:239)
       at com.vordel.circuit.SyntheticCircuitChainProcessor.invoke(SyntheticCircuitChainProcessor.java:64)
       at com.vordel.dwe.http.HTTPPlugin.processRequest(HTTPPlugin.java:351)
       at com.vordel.dwe.http.HTTPPlugin.invokeDispose(HTTPPlugin.java:359)
       at com.vordel.dwe.http.HTTPPlugin.invoke(HTTPPlugin.java:135)

  


 

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms