locked
Error occured when registring plugin with plugin registration tools RRS feed

  • 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 replying
    Monday, 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
    Monday, March 15, 2010 4:03 PM

All replies

  • the number of fields did not exceed 9 fields
    Monday, March 15, 2010 2:55 PM
  • What is the length of your dll name and namespace/class title?
    MSCRM Bing'd - http://bingsoft.wordpress.com
    Monday, March 15, 2010 3:11 PM
    Moderator
  • 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 replying
    Monday, March 15, 2010 3:41 PM
  • Do you have a attribute with a really long attribute name?
    MSCRM Bing'd - http://bingsoft.wordpress.com
    Monday, March 15, 2010 3:48 PM
    Moderator
  • 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 blog
    Monday, March 15, 2010 3:50 PM
  • you idea is exellent and this is very smart
    but could tell me how to filter fields by code
    Monday, 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 code

    Monday, 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
    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 muchhhhhhh

    Monday, March 15, 2010 4:10 PM