Ошибка формы редактирования Sharepoint - PullRequest
0 голосов
/ 10 января 2011

Я не могу найти клей для этого. Пытаясь отредактировать Listitem в браузере, я получаю сообщение об ошибке: «1001 *»

Файл не найден: C: \ Program Files \ Common Files \ Microsoft Shared \ Расширения веб-сервера \ 14 \ Template \ Layouts \ EditingMenu \ SiteAction.xml System.ArgumentNullException: Der Wert darf nicht NULL sein. Имя параметра: s. System.IO.StringReader..ctor (String s). Bei System.Xml.XmlDocument.LoadXml (String xml). Bei .Internal.WorkflowUtilities.DoesWorkflowCancelWhenItemEdited (ассоциация строкиXml) bei Microsoft.SharePoint.Publishing.WebControls.ConsoleDataSource.EnsurePageNotInLockingWorkflowIfInEditMode () bei Microsoft.SharePoint.Pubrein.Ignate.OreReg.Reader.Reader.Conject.Wegn.ReGen.ReGen.Reader.Reader.Conject.WeC.dll () bei System.Web.UI.Control.PreRenderRecursiveInternal () bei System.Web.UI.Control.PreRenderRecursiveInternal () bei Sy ... 489b3ebb-eb93-4172- среда выполнения SharePoint Foundation tkau Неожиданный System.Web.UI.Page. ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint)
Xml находится на месте, и формы редактирования для других списков в той же сети работают хорошо ... Даже пытался создать новую форму редактирования (и iisreset и т. Д.)

Любая подсказка будет полезна

Спасибо, Ларс

Ответы [ 2 ]

1 голос
/ 26 апреля 2012

Исключение выдается, поскольку SharePoint 2010 ожидает, что элемент AssociationData содержит действительный xml, где элемент AssociationData является тегом в схеме определения рабочего процесса.Я столкнулся с этой проблемой после переноса нашего приложения SP 2007 в SP 2010. К сожалению, недостаточно просто применить действительный элемент xml к элементу AssociationData в определении вашего рабочего процесса:

Это помогает только для созданных приложений и экземпляров рабочего процесса./ началось после внесения изменений.Поэтому для живых приложений и запущенных экземпляров рабочего процесса мы должны изменить AssociationData через объектную модель.Я реализовал набор методов, описанных здесь - SharePoint: рабочий процесс + форма редактирования элемента списка = значение не может быть нулевым. Исключение .Ниже перечислены основные методы:

public static void AdjustAssociationData(SPWorkflowAssociation workflowAssociation, SPWorkflowAssociationCollection collection)
{
    if (!IsValidXml(workflowAssociation.AssociationData))
    {
        string newValue = string.IsNullOrEmpty(workflowAssociation.AssociationData)
                                ? "<Data />"
                                : string.Format("<Data>{0}</Data>", workflowAssociation.AssociationData);
        workflowAssociation.AssociationData = newValue;
        collection.Update(workflowAssociation);
    }
}

public static bool IsValidXml(string str)
{
    if (!string.IsNullOrEmpty(str))
    {
        try
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(str);
            return true;
        }
        catch {}
    }
    return false;
}

Кроме того, из упомянутого выше поста в блоге вы можете загрузить консольное приложение, которое я разработал и использовал против нашего проблемного приложения.Я надеюсь, что это будет полезно.

0 голосов
/ 11 января 2011

Фактически, к типу содержимого элемента был прикреплен рабочий процесс для утверждения удаления, а не тот, кто его поместил, но в любом случае задачи можно найти в списке.Рабочий процесс был незаметно для меня.Ошибка странная и я чего-то не ожидал

Lars

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...