Skip to main content
Solved

Registering MPM issue


Kalpani Dissanayake
Superhero (Employee)
Forum|alt.badge.img+20
When registering a new FSM MPM, even after configuring all the parameters in "Perform Definitions" correctly, MPM throwing the following error when invoking.
"Metadata not found for YourMPMName Contact your system administrator for assistance."

Best answer by Isuru Wijeratna

Yes. This is one of the god question. MPM is names as “Matrix Perform Message”. simply what happen is you will call a method in server side by passing XML message. that given XML has information about perform name and parameters. FSM framework will identify the method and call it dynamically. hence, you have to configure few things before it works fine.

 

  1. Make sure the namespace is correct in web.config

Each class file in C#, you can find out a namespace. it is a combination “component name” and the “namespace” which you have mentioned in the web.config for CustBusPOlicyMgrs class

  1. Class file should be inherited from relevant PolicyMgr 

 

in this screenshot,

ServiceLogisticsBusPolicyMgr : base line business policy manager class

Your method name should be public

AcmeShipping.BusinessPolicies : namespace in web.config

ServiceLogisticsComponant: component name which you set when create the perform Definition

 

  1. Should create a perform Definition to your method. (this is case sensitive and it should be 100% equal to your method names, namespace, and parameter name and types.)

perform name: “perform_” + your given name. adding “perform_” prefix is mandatory

  1. build the code in the same .net framework level of the application ( Same level will not do any run-time binding issues) and put dll in to correct folder.
  2. restart the IIS application pool and do recycle. ( according to you do the server side change this is mandatory)
  3. refresh cache

then retry. these are the things you have follow and it should work.

 

your error “Metadata not found “ is because it is not possible to find out correct Metadata “perform definition” according to your XML message. Make sure all above are correct and values you enter in XML is correct.[perform name and the parameter tags]

 

View original
Did this topic help you find an answer to your question?

3 replies

Forum|alt.badge.img+2
  • Do Gooder (Former Employee)
  • 4 replies
  • October 2, 2019
Check the Class and method signature is matching with the MPM you configured in Perform Definitions. And check whether the class the MPM method contains is public.

Mike The FSM TechnoGeek
Superhero (Employee)
Forum|alt.badge.img+17
Check the namespace and class name. They need to match EXACTLY what you have in the ApplicationExtension node of the server web.config and follow these rules:

1) The namespace must be of the form .BusinessServer.BusinessPolicies.Component where component_name is one of the existing FSM components like 'SharedTables', 'RepairCenter', 'ServiceContracts', etc.

2) The class name MUST end with 'CustBusPolicyMgr'.

For example:
code:
namespace Acco.BusinessServer.BusinessPolicies.SharedTablesComponent
{
public class SharedTablesCustBusPolicyMgr : SharedTablesBusPolicyMgr
{
...

Isuru Wijeratna
Superhero (Employee)
Forum|alt.badge.img+21
  • Superhero (Employee)
  • 241 replies
  • Answer
  • December 25, 2019

Yes. This is one of the god question. MPM is names as “Matrix Perform Message”. simply what happen is you will call a method in server side by passing XML message. that given XML has information about perform name and parameters. FSM framework will identify the method and call it dynamically. hence, you have to configure few things before it works fine.

 

  1. Make sure the namespace is correct in web.config

Each class file in C#, you can find out a namespace. it is a combination “component name” and the “namespace” which you have mentioned in the web.config for CustBusPOlicyMgrs class

  1. Class file should be inherited from relevant PolicyMgr 

 

in this screenshot,

ServiceLogisticsBusPolicyMgr : base line business policy manager class

Your method name should be public

AcmeShipping.BusinessPolicies : namespace in web.config

ServiceLogisticsComponant: component name which you set when create the perform Definition

 

  1. Should create a perform Definition to your method. (this is case sensitive and it should be 100% equal to your method names, namespace, and parameter name and types.)

perform name: “perform_” + your given name. adding “perform_” prefix is mandatory

  1. build the code in the same .net framework level of the application ( Same level will not do any run-time binding issues) and put dll in to correct folder.
  2. restart the IIS application pool and do recycle. ( according to you do the server side change this is mandatory)
  3. refresh cache

then retry. these are the things you have follow and it should work.

 

your error “Metadata not found “ is because it is not possible to find out correct Metadata “perform definition” according to your XML message. Make sure all above are correct and values you enter in XML is correct.[perform name and the parameter tags]

 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings