This SharePoint Online tutorial we will discuss how to solve the request message is too big. the server does not allow messages larger than 2097152 bytes error which comes in Visual Studio workflow in SharePoint Online.
Recently while working with SharePoint online workflow development with visual studio 2015 project, we got the below error while saving the workflow definition file inside the host web.
We were writing the below code to save the workflow definition file from app web to host web. But it through the below exception in the SaveDefinition method.
WorkflowDeploymentService wfDeploymentService = wfServicesManager.GetWorkflowDeploymentService();
foreach (KeyValuePair<string, string> keyValPair in wfDictionary)
{
RemoveWorkflowDefinition(keyValPair.Key, hostURL);
WorkflowDefinition workflowDef = new WorkflowDefinition(ctx);
workflowDef.Xaml = keyValPair.Value;
workflowDef.DisplayName = keyValPair.Key;
ctx.Load(workflowDef);
wfDeploymentService.SaveDefinition(workflowDef);
ctx.ExecuteQuery();
wfDeploymentService.PublishDefinition(workflowDef.Id);
ctx.ExecuteQuery();
}
The error comes as:
An unhandled exception of type ‘Microsoft.SharePoint.Client.ServerException’ occurred in Microsoft.SharePoint.Client.Runtime.dll
Additional information: the request message is too big. the server does not allow messages larger than 2097152 bytes
Solution (SharePoint online)
This a file size limit imposed by Microsoft within SharePoint Online to prevent uploading file size larger than 2MB. Even if the limit is 2MB, maximum time it does not allow to save even file size more than 1.7MB. So we need to make sure the workflow definition file should not increase beyond the limit. Below are a few things you can try:
- Remove the unused workflow actions
- If you have used more WriteToHistory actions then try to remove the unnecessary actions.
- Also, we need to remember one more thing is that the weight of different workflow action is different from one another. Like if WriteToHistory is having less size than Calling a Rest API using HttpSend activity.
In SharePoint online, we can not increase the limit also. So we have to optimize our workflow.
Solution (SharePoint 2013)
If the above error is coming for SharePoint on premise environment then we can increase the upload size limit by using PowerShell. Below is the PowerShell command which we can run in the front end servers. Then do an IISREST and the error should not come.
You can run the PowerShell command in Visual Studio code or Windows PowerShell ISE.
$ws = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$ws.ClientRequestServiceSettings.MaxReceivedMessageSize = 5120000
$ws.ClientRequestServiceSettings.MaxParseMessageSize = 5120000
$ws.Update()
The above command will increase the upload limit from 2MB to 5MB.
You may like the following SharePoint tutorials:
- The security validation for this page is invalid and might be corrupted error in SharePoint 2013 Rest API
- SPUtility.js SharePoint 2013 tutorial and Examples
- SharePoint 2013 list item level permission using REST API
- You may be trying to access this site from a secured browser on the server. Please enable scripts and reload this page
- SharePoint Find an Item List search box does not return results
- How to Change Layout of a Page in SharePoint 2013
Hope this will be helpful to solve an issue the request message is too big. the server does not allow messages larger than 2097152 bytes SharePoint online.
Bhawana Rathore is a Microsoft MVP (3 times in Office Apps & Services) and a passionate SharePoint Consultant, having around 10 years of IT experience in the industry, as well as in .Net technologies. She likes to share her technical expertise in EnjoySharePoint.com and SPGuides.com