If you have a custom application and running as ISV for CRM and you face the below error:
Microsoft.Crm.WebServices.Crm2007.MultipleOrganizationSoapHeaderAuthenticationProvider, Microsoft.Crm.WebServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' doesn't exist
Reason:
The reason for the error is that CRM adds 2 HttpModules (MapOrg and CrmAuthentication) to web.config in the root of the CRM website. The CrmAuthentication HttpModule is in the microsoft.crm.webservices.dll assembly, which is not in the path of the custom virtual directory.
Therefore, you need to deploy the Microsoft.crm.webservices.dll to GAC
Also remove the HttpModule in your web.config
<httpmodules><remove name="CrmAuthentication"></httpmodules>