Incorrect delpoyment of the DynamicMethods.xml file in the SalesLogix 8.0 web client

We have had several clients report random errors occurring in their SalesLogix v8.0 web client.  No meaningful error is presented to the end user but on the web server’s Event Logs you can see something similar to this:

2013-12-05 08:15:36,025 [23] ERROR
SlxClient.InsertSalesOrderPage – SalesLogix Web Client unhandled exception
during async postback [SalesLogix Error Id=SLX76DA70529671C361]

{

 
“slxErrorId”: “SLX76DA70529671C361”,

 
“mitigation”: “AjaxErrorResponse (576)”,

 
“date”: “2013-12-05T08:15:36”,

 
“utc”: “2013-12-05T16:15:36”,

 
“message”: “Could not find the dynamic method
BillToShipTo.lstbxShippingAddress_OnChange. 
Check your dynamicmethods.xml configuration file to ensure that this
method exists.”,

 
“source”:
“Sage.Platform.DynamicMethod.DynamicMethodLibrary, Sage.Platform,
Version=8.0.0.8494, Culture=neutral, PublicKeyToken=null”,

 
“type”: “System.ArgumentException”,

 

  “stackTrace”: “   at Sage.Platform.DynamicMethod.DynamicMethodLibrary.GetInvoker(String
methodName)rn   at
Sage.Platform.DynamicMethod.DynamicMethodLibrary.Execute(String methodName,
Object[] args)rn   at

This error references the DynamicMethodLibrary.  This library gets its data from the DynamicMethods.xml file in the root of the SalesLogix client’s deployed portal location.  This file is created dynamically by the Application Architect during the build and deploy process.  The file contains all of the C# methods on the various smart parts in the web client.

If you look at a properly formed line in this file it will look something like this:

    <dynamicMethod xsi:type=”BusinessRuleMethod” methodName=”BillToShipTo.lstbxBillingAddress_OnChange” methodReturnMode=”None” returnType=”System.Void”>
      <preExecuteTargets />
      <primaryTarget targetType=”Sage.BusinessRules.CodeSnippets.BillToShipToEventHandlers, Sage.SnippetLibrary.CSharp” targetMethod=”lstbxBillingAddress_OnChangeStep” />
      <postExecuteTargets />
    </dynamicMethod>

However an incorrect one will look something like this:

    <dynamicMethod xsi:type=”BusinessRuleMethod” methodName=”6fbf306a-9ee2-4ed4-a0e5-985babe54703.lstbxShippingAddress_OnChange” methodReturnMode=”None” returnType=”System.Void”>
      <preExecuteTargets />
      <primaryTarget targetType=”Sage.BusinessRules.CodeSnippets.BillToShipToEventHandlers, Sage.SnippetLibrary.CSharp” targetMethod=”lstbxShippingAddress_OnChange” />
      <postExecuteTargets />
    </dynamicMethod>

Note how a GUID appears instead (shown highlighted above).

To fix this you have one of two options:

  1. Modify the offending code snippet.  You can just add a space or something to modify it.  Do a full build and re-deploy.  Before deploying, delete the DyanmicMethods.xml file from the portal deployment location to ensure it is replaced.  This is often enough to fix the issue.
  2. Modify the deployed DyanmicMethods.xml file directly and change the GUID to the correct value.  You will need to do an IIS reset afterwards.

I have reported this problem to SalesLogix support.  Hopefully a fix will be forthcoming. 

 

 

ABOUT THE AUTHOR

Kris Halsrud

Kris Halsrud is a Senior Analyst / Developer for Customer FX Corporation.

1 Comment

  1. Unfixed as of Core update 6

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) and Creatio (bpm'online) news and product updates!

You have Successfully Subscribed!