Skip to main content

Hi,

 

I got a process flow that is scheduled to check if there are failed outbound message and send a mail with the tx id.

Now we manually go to outbound message end do a resubmit.

I want to do this automatically from the triggert process flow.

 

I try to call this action, to call the resubmit, but this does not work.

<root xmlns:dt="urn:schemas-microsoft-com:datatypes">
<session email="" alias="">
<state bc_name="service_order">
<action name="execquery">
<attribute in_var="" out_var="" entity_name="state_from_events" query_name="state_from_event_resubmit" />
<attribute dtype="string" in_var="" name="transaction_ids" value="a592ef22-7a91-4e6b-ba71-a835aa64c3f8" operator="=" />
</action>
</state>
</session>
</root>

 

Is there a macro available or other way to resubmit the failed outbound message in a Process Flow?

 

Thanks,

Robin

Hi Robin,

If I recall right, you may be able to clear the state_from_events.delivery_dt and state_from_events.ack_dt and the next iteration that process outbound messages will pick up and send again.

 


Hi Phil,

 

Yes, if i check the DAL file: state_from_event_resubmit

I need to      

      update astate_from_events]
set sdelivery_dt]=null , lack_dt]=null ,last_modified_by = '@last_modified_by' , retry_count = 0, error_msg = null , row_status = 2
where etxnid] in (@transaction_ids)

But i was hoping by just calling the DAL file from the process flow, the update statement would be execute.

It seems i cannot clear the fields from the process flow it self. I can create a store procedure and call the store procedure from the process flow


Hi Phil,

 

It seems there is a stored procedure available: sp_eventbroker_resubmit

When I call this from Process flow like this:

<root>
<session email="" alias="">
<state bc_name="Service_Order">
<action name="execstoredprocedure">
<attribute in_var="" out_var="" sp_name="sp_eventbroker_resubmit" />
<attribute dtype="string" value="a592ef22-7a91-4e6b-ba71-a835aa64c3f8" name="txnid"/>
<attribute dtype="integer" value="1" name="retryNum"/>
</action>
</state>
</session>
</root>

The Failed message will be resubmitted.

 

This is what the Stored Procedure does:

update state_from_events set delivery_dt = null , retry_count = @retryNum where txnid = @txnid

I got it work, so it is now auto resubmitting. :)

 

Thanks.


Hi Robin,

Great… glad to see there is something like that as I did not yet look for it but you found it! 

However, I would be careful on when you call it… for example after how many attempts otherwise you risk trying to send out for a while while the failure cause is investigate/resolved.  Imagine the other endpoint has a problem with their web service for example and may take some amount of time to fix the issue.

 

 

 


Hi Phil,

 

Yes good point, i get still triggert with de total of retry count, if retry count exceeds 2, than i have to investigate it manually and it will not auto resubmit.

 

thanks.


Reply