Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Dave5
Contributor II
Contributor II

Intercept REST requests and responses with Broker

Hello,

I'm wondering what design ideas the community would suggest to accomplish an API broker that does the following:

  • Act as a primary API router for multiple systems. So rather than point API calls directly at the system they're designed for, the requests are pointed at Talend, which would then route the request to the intended system, and simultaneously allow for other processing of the request and response.
    • While passign the message to the intended endpoint, allow for request interception and processing of the request message.
    • While passing the response back to the requesting system, allow for interception and processing of the response message.
  • The Talend broker would not add any authentication layers. The request object would contain the authentication for the intended system, Talend would just pass it along and process it if the request contained criteria meeting processing requirements.

Here's a Route idea that I was playing with that I think would be able to intercept requests, while passing the original request object to the intended system.

 

0695b00000Uvc9jAAB.png 

0695b00000UvcA3AAJ.png 

I'm still relatively new to Talend so I appreciate any insight as to how I might accomplish this - even if it's just pointing me to some literature that may help trigger some ideas.

 

Thank you.

Dave

 

Appended:

One tricky thing is how to handle multiple endpoints. This may require changes to the the consuming systems. One endpoint has to point at Talend, but we also need to know the API endpoints / methods they are trying to use so that Talend can pass it on appropriately. The broker idea would definitely have processing value but I'm not really seeing anything like this online so I'm wondering how and if others have done something similar.

Labels (4)
4 Replies
Hoffman14
Contributor
Contributor

I'm also facing the issue, please help me to resolve this issue.

Anonymous
Not applicable

 

 

 

Hi,

Here is an example that can help

 

0695b00000UvrqOAAR.pngEndpoint to call is derived using cRecipientList (in the example - based on a header in the original request)

0695b00000UvrrHAAR.png 

cWireTap component can be used to copy/intercept the request/response

 0695b00000UvrrqAAB.png

Anonymous
Not applicable

0695b00000UvrwvAAB.png 

Target API calls via cREST

 

 

 

 

jmceachern
Contributor
Contributor

Can you confirm how the tJavaDSLProcessor component is being used and what it's config looks like?