Question

PACTH Rest Outbound Call with Plsql_Rest_Sender_API

  • 24 May 2023
  • 5 replies
  • 161 views

Userlevel 3
Badge +7

Dear all,
we are using following procedure on IFS Cloud 22R2SU8 to make outbound rest call to another third party system (3PS).
Plsql_Rest_Sender_API.Call_Rest_Endpoint_Json

(rest_service_        => '3PS',
json_                => json_user_detail_,
url_params_          => url_params_,
callback_func_       => '3PS_API.Get_Callback',
http_method_         => 'POST',
sender_              => 'IFS',
receiver_            => '3PS',
message_type_        => 'CONNECT',
accepted_res_codes_  => '201,400,403,409,422');


It works fine with POST, however it does not work with PATCH, most probably due to the following additional header parameter being added by default into the call and not accepted by the 3PS.

 


So based on the note from IFS technical documentation below we used ‘PATCH_NO-X’ instead
 

 

Plsql_Rest_Sender_API.Call_Rest_Endpoint_Json

(rest_service_        => '3PS',
json_                => json_user_detail_,
url_params_          => url_params_,
callback_func_       => '3PS_API.Get_Callback',
http_method_         => 'PATCH_NO-X',
sender_              => 'IFS',
receiver_            => '3PS',
message_type_        => 'CONNECT',
accepted_res_codes_  => '201,400,403,409,422');


bunt then the outgoing application message ends with the following error

 


Is there anyone else who has encountered the same problem? Looks like a bug, or did we miss anything?
Thanks Jan


5 replies

Userlevel 5
Badge +14

After setting the HTTP Method to ‘HTTP_NO-X’, IFS Rest sender will send direct ‘PATCH’ requests. 

From the last exception (after changing the HTTP Method to ‘HTTP_NO-X’), it seems that your third party end point doesn’t support direct ‘PATCH’. So better to check with your third-party endpoint whether they support direct ‘PATCH’ or  PATCH set with the ‘X-HTTP-Method-Override’ header parameter. 

Userlevel 3
Badge +7

Dear Udesha,

thanks for the reply. I have been trying to make the same call to 3PS from Postman and it works fine.
 


I have tried to send the request from Postman and IFS to webhook.site to compare, however when I switch to ‘PATCH_NO-X’ the request is not sent at all, pls. see screenshots below. 
Btw. you are referring to ‘HTTP_NO-X’, so should the method be ‘PATCH_NO-X’ or ‘HTTP_NO-X’? 
  
 

  1. Request from Postman
  1. Request from IFS with ‘PATCH’ method
  1. Request from IFS with ‘PATCH_NO-X’

Request is not appearing in webhook at all, application message is in waiting status with the following error message.
 


 

Userlevel 5
Badge +14

Hi Jan,

Sorry for my mistake. HTTP Method is ‘PATCH_NO-X’ not HTTP_NO-X’.

What is the error you get for the 3rd scenario above. I can not see the entire error text in the screenshot.

Userlevel 3
Badge +7

 

Userlevel 3
Badge +7

Just thinking why the http method ‘PATCH_NO-X’ is not listed at the routing address.

 



 

Reply