Error de SharePoint: el servidor no permite mensajes de más de 2097152 bytes

Tengo un servicio web que apunta a sharepoint 2013 Office 365. Uso el modelo de objetos del cliente. Estoy intentando actualizar el archivo xml que almacena 4 archivos adjuntos en él. Cuando hago esto cuando tengo datos binarios grandes en el archivo xml, aparece el siguiente error:

Mensaje

El mensaje de solicitud es demasiado grande. El servidor no permite mensajes de más de 2097152 bytes.

Me doy cuenta de que probablemente tendré que separar los archivos adjuntos del archivo xml, pero actualmente mi formulario de infopath los almacena allí. ¿Hay alguna manera de aumentar la longitud de la solicitud o tal vez reducir el ahorro o algo así? Realmente solo estoy modificando un nodo y no funcionará a menos que actualice el xml. Gracias . Código abajo.

Mi código:

ListItem docReq = GetDocRequestLight(docRequestID, businessID);
string fPath = (string)docReq["FileRef"];
using (FileInformation fInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(ctx, fPath))
{
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(fInfo.Stream);
    XmlNamespaceManager xmlNameSpaceMgr = new XmlNamespaceManager(xmlDoc.NameTable);
    xmlNameSpaceMgr.AddNamespace("my", DocReqXmlNameSpace);

    // Get Parent Node
    XmlNode node = xmlDoc.SelectSingleNode(GetXPathFromItemKey(velmaKey), xmlNameSpaceMgr);

    DateTime outDate;
    bool outBool;
    if (DateTime.TryParse(newValue, out outDate))
        node.InnerText = outDate.ToString("yyyy-MM-dd");
    if (Boolean.TryParse(newValue, out outBool))
        node.InnerText = newValue;

    // Update Statuses
    XmlNode statusIDNode = xmlDoc.SelectSingleNode(DocReqStatusIDFieldXPath, xmlNameSpaceMgr);
    statusIDNode.InnerText = updatedStatus.ID.ToString();
    XmlNode statusNode = xmlDoc.SelectSingleNode(DocReqStatusFieldXPath, xmlNameSpaceMgr);
    statusNode.InnerText = updatedStatus.Name.ToString();

    // Save File
    docReq.File.SaveBinary(new FileSaveBinaryInformation()
    {
        Content =   Encoding.UTF8.GetBytes(xmlDoc.OuterXml),
    });

    ctx.ExecuteQuery();

Respuestas a la pregunta(2)

Su respuesta a la pregunta