KB Article #181251

'Set attribute filter' attribute throws this in 'Connect to URL' filter: java.lang.ClassCastException: java.lang.String cannot be cast to java.net.URI

Problem

When using a 'set attribute filter' to set an URI this issue is thrown when initialize http.request.uri attribute.

java exception:

java.lang.ClassCastException: java.lang.String cannot be cast to java.net.URI

at com.vordel.dwe.http.HTTPPlugin$6.generate(HTTPPlugin.java:217)

at com.vordel.circuit.Message.get(Message.java:104)

at com.vordel.circuit.Message.get(Message.java:90)

at com.vordel.circuit.net.ConnectToURLProcessor.invoke(ConnectToURLProcessor.java:56)

at com.vordel.circuit.InvocationEngine.invokeFilter(InvocationEngine.java:149)

at com.vordel.circuit.InvocationEngine.invokeCircuit(InvocationEngine.java:41)

at com.vordel.circuit.CircuitDelegateProcessor.invoke(CircuitDelegateProcessor.java:46)

at com.vordel.circuit.InvocationEngine.invokeFilter(In

Resolution

a) either use java.net.URI attribute instead of http.request.uri which is reserved attribute in API Gateway

b) or use another name for that attribute to be passed to 'name' field in 'set attribute' filter as argument for 'connect to url' filter - like 'target.URI'