cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

HTTP Response Code (Header) for Triggered Task

christwr
Contributor III

I have a triggered SnapLogic REST API task, with a pipeline that calls a separate vendor REST API. I want to catch any errors from the vendor API so I can return them back in my SnapLogic API response. If I do though, then the error is considered handled and the HTTP response code back to my requester indicates success. If I donโ€™t handle the error, then the pipeline will fail and provide back a generic failure HTTP response code, but without any of the details from the vendor response.

Is it possible to catch/handle the vendor API error, with a successful pipeline execution, but somehow manipulate the SnapLogic HTTP response code with an error code?

8 REPLIES 8

Hi

Thanks for your information, but can you show me the code in your mapper on how you add that custom_header1?

Thanks

As long as the $content is mapped, everything else you pass in the mapper goes to the header.

image

This is the only thing I have in the pipeline.

image

You should read the Ultra Documentation again specifically concentrating on these points.

https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/1437955/Ultra+Pipeline+Tasks

The unlinked output view type can be binary or document as well:
If itโ€™s document, the output should have a โ€˜contentโ€™ field that will be JSON-encoded and sent back to the client. The other fields in the output document will be treated as HTTP response headers to send back to the client. If there is no โ€˜contentโ€™ field, the entire document will be JSON-encoded and used as the response body to be sent back to the client.
If the output document contains a โ€˜statusโ€™ field that is an integer, it will be treated as the HTTP response status code.

If itโ€™s binary, the binary documentโ€™s header will be sent back to the client as the HTTP response headers. The body of the binary document will be directly streamed back to the client.
SnapLogic expects exactly one output document for every input. If no output is sent, then the original HTTP request sent to the FeedMaster will hang and eventually timeout. If more than one output document is generated, then SnapLogic will only send the first one back as the response to the original HTTP request. This behavior is different from a Triggered Task, where all of the documents sent to the unlinked output are sent back in the response.

This is really helpful. Thanks a lot

Hi Team
Is this feature not working anymore?
is it supported only in ultra ?
Reagrds
Ayush