SBX - Search With Button

SBX - Forum Post Title

AX 2009 Workflow CLRObject static method invocation error

Microsoft Dynamics AX Forum

Surender Singh asked a question on 4 Mar 2012 4:10 AM
My Badges

Question Status

Suggested Answer

Hello

I am having a strange issue with my purchase requisition workflow. I continuously get the following error in event viewer under the "Microsoft Dynamics AX Workflow" group.

Exception thrown in     SysWorkflowEventDispatcher-onAcknowledgeElement    SysWorkflowEventDispatcher-raiseElementAcknowledgementEvent        : Web service failed: workflow id WFIXXXX ClrObject static method invocation error.

I looked lot on net to find out the exact reason and resolution but didn't get much. I have already re-installed my workflow component and compile the whole AOT code but this also didn't fix this issue.

Strange thing is this, error occurs  only when I have defined some condition in my approval steps, if I submit a purchase requisition with no conditions defined for approval steps then workflow works fine and complete without any error logged in event viewer, however when I defined any condition e.g. PurcahseReqTable.ApprovalAmount >= 2000 then I am facing the above mentioned error in event viewer and my workflow kept in pending status.

So bit confused is there anything wrong with my purchase requisition workflow configuration with condition or a bug in dynamics ax .

My environment configuration is

Microsoft Dynamics AX 2009 + Sp 1+ Roll UP 3, also i have installed the all individual hot fixes released for workflows in roll up 4, 5, 6, 7 but still didn't work.

My workflow batch interval is 3 min. I already tried it with 2 and 5 min but still error.

So I will be great if  anyone can help me to fix this error.

 

Thanks & Regards

Surender

Reply
Kent Carstens responded on 5 Mar 2012 1:18 PM
My Badges
Suggested Answer

Can you give details about your workflow batch?  ClrObject static method invocation error usually means that AX can't reach some specified file path associated with a process.  In your situation I believe it might be erroring during your workflow batch.

Where are you defining approval amount field?

Reply
Surender Singh responded on 5 Mar 2012 1:27 PM
My Badges

Hi Kent

you are right this error occurs during the workflow batch execution which is setup with 3 min batch interval.

I have created 10 steps under the approval task and each steps has some condition to execute which is basically checking the PurchaseRequisition.ApprovalAmount value.  

e..g If PurchaseRequisition.ApprovalAmount  >= 0.1 and PurchaseRequisition.ApprovalAmount  <= 1000 then go to step 1 and similar conditions for other approval steps having different approval amount range.

Reply
Kent Carstens responded on 5 Mar 2012 1:46 PM
My Badges
Suggested Answer

Suri,

Without seeing your system, I'm not sure how else to help.  Setting a range should not be affecting workflow approvals or prompting errors.

I can only suggest you debug your workflow to find out where in the code you are getting this error.  You should be able to step thru the code and get a good indication of why this error is being thrown, or at least where along the process the error is thrown.

msdn.microsoft.com/.../dd638052%28v=ax.50%29.aspx

Reply
Surender Singh responded on 6 Mar 2012 11:50 AM
My Badges

Kent

I can understand it's really hard to get an idea of issue without having access on the system :D. I have already tried to debug the workflow code running through batch user account but when it was calling the the dot net assembly of Workflow runtime in the method "raiseElemecknowledgementEvent " of SysWorkflowEventDispatcher class and it throws the above error. But it worked fine when it calls it first time to send the acknowledge for task complete but when it is trying to acknowledge the approval step it throws me this error at lest once.

Regards

Surender

Reply
Fasnacht responded on 22 Jan 2014 3:38 PM

Something to try is to adjust your Workflow Message Processing batch job recurrence.

We had these exact same errors.  After a day of seeing workflow failure messages being delivered to my inbox and after several times of watching the "Workflow Message Processing" batch job end and not seeing invoices or POs move immediately to the next stage in an approval process, I deduced that some other things must still be running even though the batch job ended.  What those other things are is beyond me.  On this premise, I checked the batch job to see it was set to run once every minute.  We set it to run once every 10 minutes and the problem went away immediately.  Since this happened today, we are still watching closely for any other hiccups.

Reply
Fasnacht responded on 27 Jan 2014 12:12 PM

I have additional information making my previous post irrelevant.

Here is a sql statement that will help you find a problem workflow.

select wft.rootcorrelationid, wfst.INSTANCENUMBER, wfst.TRACKINGSTATUS, count(*)

from WorkflowTrackingTable wft

join workflowtrackingstatustable wfst on wft.ROOTCORRELATIONID = wfst.ROOTCORRELATIONID

group by wft.ROOTCORRELATIONID, wfst.INSTANCENUMBER, wfst.TRACKINGSTATUS

order by COUNT(*) desc

The workflow status of 0 is what you should look for.

A high number of entries in the WorkflowTrackingTable causes time outs and slows workflows down.

KB973439 is a recommended fix but.... when I looked through the code changes in the XPO, we already have those code changes installed in versions 5.0.1500.2116 (2009 SP1 Hotfix Rollup 4 (RU4)) and 5.0.1500.3761 (2009 SP1 Hotfix Rollup 6 (RU6))

This is what I did.  I wrote a job to purge the excessive repeated records for the workflow that is causing the problems/slowdowns.  I tried to leave relevant tracking information so a user could make informed decisions on that particular workflow.  I canceled the workflow and submitted it to a workflow with literally no decisions.  Users were informed that they needed to handle these differently.  I have had no reports of the simple workflow failing like the complex one did.

If I have any more input, i will offer it up as best I can.

Reply
Kent Carstens responded on 5 Mar 2012 1:18 PM
My Badges
Suggested Answer

Can you give details about your workflow batch?  ClrObject static method invocation error usually means that AX can't reach some specified file path associated with a process.  In your situation I believe it might be erroring during your workflow batch.

Where are you defining approval amount field?

Reply
Kent Carstens responded on 5 Mar 2012 1:46 PM
My Badges
Suggested Answer

Suri,

Without seeing your system, I'm not sure how else to help.  Setting a range should not be affecting workflow approvals or prompting errors.

I can only suggest you debug your workflow to find out where in the code you are getting this error.  You should be able to step thru the code and get a good indication of why this error is being thrown, or at least where along the process the error is thrown.

msdn.microsoft.com/.../dd638052%28v=ax.50%29.aspx

Reply

SBX - Two Col Forum

SBX - Migrated JS