Answered by:
Error occured when registring plugin with plugin registration tools

Question
-
I had an error when i tried to register plugin with plugin registration tolls with specifing the "Filtring Attributes",
this is the error:
Unhandled Exception: System.Web.Services.Protocols.SoapException: Server was unable to process request.
Detail: <detail><error>
<code>0x80044331</code>
<description>A validation error occurred. The length of the 'filteringattributes' attribute of the 'sdkmessageprocessingstep' entity exceeded the maximum allowed length of '100'.</description>
<type>Platform</type>
</error></detail>
à System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
à System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
à PluginRegistrationTool.CrmSdk.CrmService.Update(BusinessEntity entity) dans C:\Documents and Settings\Administrateur\Desktop\PluginRegistration_2.2\PluginRegistration 2.2\Web References\CrmSdk\Reference.cs:ligne 345
à PluginRegistrationTool.RegistrationHelper.UpdateStep(CrmOrganization org, CrmPluginStep step, Guid origSecureConfigId) dans C:\Documents and Settings\Administrateur\Desktop\PluginRegistration_2.2\PluginRegistration 2.2\RegistrationHelper.cs:ligne 520
à PluginRegistrationTool.StepRegistrationForm.btnRegister_Click(Object sender, EventArgs e) dans C:\Documents and Settings\Administrateur\Desktop\PluginRegistration_2.2\PluginRegistration 2.2\StepRegistrationForm.cs:ligne 373
didi some one have any idea about this error
thanks for replyingMonday, March 15, 2010 2:52 PM
Answers
-
it is simple.
// first get the dynamicEntity in the plugin.
DynamicEntity dynEntity = (DynamicEntity)context.InputParameters[ParameterName.Target];
Now check for your properties.
if(dynEntity.Properties.Contains("myproperty1") || dynEntity.Properties.Contain("myProperties2") || dynEntity.Properties.Contain("myPrope3"))
{
// Do your code here on all the nine properties which you want to do.
}
else
{
// No CODE for other Attributes
}
Muhammad Ali Khan
My MS CRM blog- Proposed as answer by Muhammad Ali Khan Monday, March 15, 2010 4:11 PM
- Marked as answer by DavidJennawayMVP, Moderator Monday, May 10, 2010 3:34 PM
Monday, March 15, 2010 4:03 PM
All replies
-
the number of fields did not exceed 9 fieldsMonday, March 15, 2010 2:55 PM
-
What is the length of your dll name and namespace/class title?
MSCRM Bing'd - http://bingsoft.wordpress.comMonday, March 15, 2010 3:11 PMModerator -
hi,
I think the error is not referd to the name to dll name and namespace/class title?
beacause the dll is registred successfuly, the problem starts when i try to add step to the class in the plugin.
i test the creation of step whth 2 colums and all is ok and the step is created but when i try to register the step whith many colums(approximativly 9 columns), the error occured
thanks again for replyingMonday, March 15, 2010 3:41 PM -
Do you have a attribute with a really long attribute name?
MSCRM Bing'd - http://bingsoft.wordpress.comMonday, March 15, 2010 3:48 PMModerator -
May be this is a bug in the plugin registration tool. You can try downloading the latest Plugin Registration tool.
Also if this doesn't work, then put the filter on All Attributes and inside the code Do your checking/filtering against the 9 Attributes.
So the plugin will be fired al ways but will be filter on 9 attributes inside the code.
Muhammad Ali Khan
My MS CRM blogMonday, March 15, 2010 3:50 PM -
you idea is exellent and this is very smart
but could tell me how to filter fields by codeMonday, March 15, 2010 3:53 PM -
i forget to tell you that i have the last version of regsitration tools, i downloaded it this morning
so could tell me how to filter fields by codeMonday, March 15, 2010 3:55 PM -
it is simple.
// first get the dynamicEntity in the plugin.
DynamicEntity dynEntity = (DynamicEntity)context.InputParameters[ParameterName.Target];
Now check for your properties.
if(dynEntity.Properties.Contains("myproperty1") || dynEntity.Properties.Contain("myProperties2") || dynEntity.Properties.Contain("myPrope3"))
{
// Do your code here on all the nine properties which you want to do.
}
else
{
// No CODE for other Attributes
}
Muhammad Ali Khan
My MS CRM blog- Proposed as answer by Muhammad Ali Khan Monday, March 15, 2010 4:11 PM
- Marked as answer by DavidJennawayMVP, Moderator Monday, May 10, 2010 3:34 PM
Monday, March 15, 2010 4:03 PM -
really there is a lot of things to learn at CRM
It is very smart from you
thank you too muchhhhhhhMonday, March 15, 2010 4:10 PM