KB Article #177875
URI is not absolute
Problem
- By calling a policy containing a "Connect to URL" filter, the policy failed and in the transaction logs the following error message appears:
DEBUG 20-04-16 16:43:46.515 run filter [Connect to URL] {
ERROR 20-04-16 16:43:46.515 java exception:
java.lang.IllegalArgumentException: URI is not absolute
at java.net.URI.toURL(URI.java:1095)
at com.vordel.circuit.net.ConnectToURLProcessor.invoke(ConnectToURLProcessor.java:52)
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)
Resolution
-- This happens because the URL set in the "Connect to URL" filter is not properly formatted.
-- It must begins by http:// or https:// followed by the address and, if needed if that's not the standard one, the port to connect (address:port) followed by a path (/path/to/resource)
-- Even if connecting to a websocket server, the protocol must be set to http:// or https:// and not ws:// or wss://, other API Gateway won't recognize the URL.