Rest Action in Flow Designer returns invalid uri, but REST Message with the same configuration works

Robin Chadwick1
Giga Expert

Hello All

I have an issue where an outbound REST message works, but the same REST message built as an action in Flow Designer produces an invalid URI error message.  I need assistance with the Flow Designer action configuration.  

What do I need to do to configure the Flow Designer Action to get a successful result.

 

REST Message Configuration - Successful Connection

We are building an integration with a Tangoe database.  I have configured an outbound rest message that has several HTTP Methods to GET data from Tangoe.

RobinChadwick1_0-1678290994781.png

 

We are using an API Token value for authentication, where the header is API-Token, so the value in the Authentication type field is "No Authentication"

RobinChadwick1_1-1678291132646.png

RobinChadwick1_2-1678291276519.png

 

When I test the GET Method I get an HTTP status of 200 with a valid response body.

 

 

Flow Designer Action - Invalid URI

The REST step in in the Flow Designer Action is configured to match the REST message.  At least it appears to be.

RobinChadwick1_5-1678292879548.png

 

Request Details

RobinChadwick1_6-1678293267453.png

Test Results

RobinChadwick1_4-1678292806193.png

RobinChadwick1_7-1678293330372.png

{
    "Action Status": {
        "code": 1,
        "message": "Invalid uri 'https://nationalgrid.7.stage.thefutureis.mobi/1/business_ref_devices/?&per_page=999': Invalid query"
    }
}

LOG Entry

Flow Designer: Operation(Tangoe-REST-Get-Device-Models./end) failed with error: com.snc.process_flow.exception.ProcessAutomationException: Invalid uri 'https://nationalgrid.7.stage.thefutureis.mobi/1/business_ref_devices/?&per_page=999': Invalid query
at com.snc.process_flow.engine.ProcessEngine.catchPropagateOrThrowError(ProcessEngine.java:838)
at com.snc.process_flow.engine.ProcessEngine.handleTreatAsError(ProcessEngine.java:928)
at com.snc.process_flow.engine.ProcessEngine.executeOps(ProcessEngine.java:564)
at com.snc.process_flow.engine.ProcessEngine.runInternal(ProcessEngine.java:466)
at com.snc.process_flow.engine.ProcessEngine.run(ProcessEngine.java:452)
at com.snc.process_flow.engine.ProcessAutomation.run(ProcessAutomation.java:79)
at com.snc.process_flow.engine.GlideProcessAutomation.runSync(GlideProcessAutomation.java:137)
at com.snc.process_flow.engine.GlideProcessAutomation.runWithDomain(GlideProcessAutomation.java:252)
at com.snc.process_flow.engine.GlideProcessAutomation.lambda$runAsUserSync$1(GlideProcessAutomation.java:219)
at com.snc.process_flow.engine.PFSessionClone.run(PFSessionClone.java:70)
at com.snc.process_flow.engine.GlidePFSession.runPlanAsUserSession(GlidePFSession.java:42)
at com.snc.process_flow.engine.GlideProcessAutomation.runAsUserSync(GlideProcessAutomation.java:217)
at com.snc.process_flow.engine.GlideProcessAutomation.messageFlow(GlideProcessAutomation.java:312)
at com.snc.process_flow.engine.GlideProcessAutomation.messageFlow(GlideProcessAutomation.java:277)
at com.snc.process_flow.engine.GlideProcessAutomation._start(GlideProcessAutomation.java:517)
at com.snc.process_flow.engine.GlideProcessAutomation.access$200(GlideProcessAutomation.java:84)
at com.snc.process_flow.engine.GlideProcessAutomation$StartBuilder.start(GlideProcessAutomation.java:1255)
at com.glide.flow_design.action.providers.ActionTypeRepoBackedProvider.testAction(ActionTypeRepoBackedProvider.java:639)
at com.glide.flow_design.rest.ActionService.testAction(ActionService.java:1023)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.glide.rest.handler.impl.ServiceHandlerImpl.invokeService(ServiceHandlerImpl.java:44)
at com.glide.rest.processors.RESTAPIProcessor.process(RESTAPIProcessor.java:376)
at com.glide.processors.AProcessor.runProcessor(AProcessor.java:613)
at com.glide.processors.AProcessor.processTransaction(AProcessor.java:275)
at com.glide.processors.ProcessorRegistry.process0(ProcessorRegistry.java:184)
at com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:172)
at com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:51)
at com.glide.sys.Transaction.run(Transaction.java:2502)
at com.glide.ui.HTTPTransaction.run(HTTPTransaction.java:27)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

1 ACCEPTED SOLUTION

Robin Chadwick1
Giga Expert

A number of things were needed.

This worked for 2 out of our four REST Actions in Flow Designer. For the other 2 we had to delete the rest action and recreate it with the above changes.

View solution in original post

3 REPLIES 3

Sankar N
Kilo Guru

Please try with below configuration, basically you will have to split your URL and configure 'Base URL' field and 'Resource Path' field accordingly. In your case,

 

Base URL - 

SankarN_0-1678293998382.png

 

Resource Path - 

 

SankarN_1-1678294027815.png

 

Sankar N
Kilo Guru

Please try with below configuration, basically you will have to split your URL and configure 'Base URL' field and 'Resource Path' field accordingly. In your case, the base URL and recourse path would be,

 

Base URL - 

SankarN_0-1678293998382.png

 

Resource Path - 

 

SankarN_1-1678294027815.png

 

Robin Chadwick1
Giga Expert

A number of things were needed.

This worked for 2 out of our four REST Actions in Flow Designer. For the other 2 we had to delete the rest action and recreate it with the above changes.