cancel
Showing results for 
Search instead for 
Did you mean: 

Retry SOAP Call From an UDF

srikanth_srinivasan3
Active Participant
0 Kudos

Hello,

I am working on a scenario that involves performing SOAP call [using pre-existing SOAP Channel] from an UDF in message map, which works as expected. I am looking forward to implement a RETRY mechanism within the UDF to handle SOAP call connection timeout failure or WS unavailability situation. This seem to be needed because, the native retry option in channel do not seem to do the job as expected, when the channel is consumed by an UDF. I could think of doing this by verifying whether or not the payload from accessor is null, in case of whichc, re-invoke the channel lookupservice once again to retry the operation.

My doubts are:

1) Is this a proper approach to perform this at all?

2) Has anybody faced this situation before?

3) What are other options apart from using the "Wait" & "Notify" functions of Java?

Any pointers are much aprpeciated. Thanks!

-

Srii

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

I would not recommend this approach,you could try below approach.,

Whenever SOAP cal fails then trigger message mapping failure then restart failed message in MONI.

1)Address timepout issues correctly and fis the problem at receiver system end.

2)Using Wait/notify thread function in java mapping/jave code not very good practice.

Answers (2)

Answers (2)

srikanth_srinivasan3
Active Participant
0 Kudos

Thanks for sharing your views, Raj and Nabendu. Appreciate it.

nabendu_sen
Active Contributor
0 Kudos

Hi Srikanth,

Unfortunately PI does not have any straight forward RETRY functionality for SOAP Look up. So if Timeout and service gets unavailable, its better to push them as failure. "Wait" and "Notify" are the Java Thread functions and better to avoid within PI UDF.

Regards,

Nabendu.