Error message in the Application log when an event callout is invoked for an entity in Microsoft Dynamics CRM: "General config file format error" (911401)
The information in this article applies to:
- Microsoft CRM 3.0
- Microsoft CRM Software Development Kit
SYMPTOMSWhen an event callout is invoked for an entity in Microsoft Dynamics CRM 3.0, the Application log may display an error message that resembles the following error message:
Error: General config file format error: Microsoft.Crm.Metadata.AttributeMetadataNotFoundException: 'Entity' entity doesn't contain attribute with Name = 'Name'.
at Microsoft.Crm.Metadata.EntityMetadata.GetAttribute(String attributeName, NameMappingType mapping)
at Microsoft.Crm.Metadata.EntityMetadata.GetAttribute(String attributeName)
at Microsoft.Crm.Callout.SubscriptionEntry.AddImageAttribute(String attributeName, Boolean bPreImage)
at Microsoft.Crm.Callout.SubscriptionEntry.LoadImageAttributes(XmlNode xn)
at Microsoft.Crm.Callout.SubscriptionEntry.Load(XmlNode xn)
at Microsoft.Crm.Callout.EventEntry.Load(XmlNode xn)
at Microsoft.Crm.Callout.EntityEntry.Load(XmlNode xn)
at Microsoft.Crm.Callout.CalloutConfig.LoadEntityEntry(XmlNode xn)
at Microsoft.Crm.Callout.CalloutConfig.Load(XmlDocument xd)
at Microsoft.Crm.Callout.CalloutConfig.Load() Note The Entity placeholder represents an actual entity. The Name placeholder represents an actual attribute name. Additionally, Microsoft CRM may not process valid subscriptions. This problem occurs when you have multiple subscriptions for event callouts for an entity. CAUSEThis problem occurs because the Prevalue attribute or the Postvalue attribute is invalid.WORKAROUNDTo work around this problem, use one of the following methods. Method 1: Remove the invalid attributeYou can remove the invalid attribute from the subscription by modifying the Callout.config.xml file. Notes- You can use Notepad to modify the Callout.config.xml file.
- By default, the Callout.config.xml file is located in the following directory:
C:\Program Files\Microsoft CRM\server\bin\assembly
For example, you can remove the "<postvalue>Name</postvalue>" line if the content of the Callout.config.xml file is as follows. <callout.config version="2.0">
<callout entity="Entity" event="PreCreate">
<subscription assembly="CalloutSample2.dll"
class="CalloutSample2.CalloutComponent">
</subscription>
</callout>
<callout entity="Entity" event="PostCreate">
<subscription assembly="CalloutSample2.dll"
class="CalloutSample2.CalloutComponent">
</subscription>
</callout>
<callout entity="Entity" event="PostCreate">
<subscription assembly="CalloutSample2.dll"
class="CalloutSample2.CalloutComponent">
<postvalue>Name</postvalue>
</subscription>
</callout>
</callout.config> Note Entity is a placeholder that represents an actual entity. Name is a placeholder that represents the actual name of the invalid attribute. Method 2: Replace the invalid attributeYou can replace the invalid attribute with a valid attribute by modifying the Callout.config.xml file. Notes- You can use Notepad to modify the Callout.config.xml file.
- By default, the Callout.config.xml file is located in the following directory:
C:\Program Files\Microsoft CRM\server\bin\assembly
STATUS
This behavior is by design.REFERENCESFor more information about the callout model in Microsoft CRM 3.0, visit the following Microsoft Web site:
Modification Type: | Minor | Last Reviewed: | 9/7/2006 |
---|
Keywords: | kberrmsg kbtshoot kbMBScustomization kbMBSMigrate kbprb KB911401 kbAudEndUser kbAudKnowledgeWorker |
---|
|