locked
Can't send request after the change assigned user in template RRS feed

  • Question

  • I have several templates that i used in service offering, they work until i change the assigned user in template (previous account has been disabled i AD). After that i cant send request - your request could not be submitted.

    That error i have at portal in silverlight version, here are some logs:

    Error,2016-03-01 12:05:36.4120943,Failed to parse the description with links.,System.ArgumentNullException: [ArgumentNull_Generic]
    Argumenty:
    Ciągi zasobów debugowania są niedostępne. Klucz i argumenty często dostarczają wystarczającej ilości informacji do zdiagnozowania problemu. Zobacz http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.41212.00&File=mscorlib.dll&Key=ArgumentNull_Generic
    Nazwa parametru: input
       w System.Text.RegularExpressions.Regex.Matches(String input)
       w Microsoft.EnterpriseManagement.ServiceManager.Portal.RequestOfferingSilverlightModule.UriParser.ParseDescription(String description)
    Error,2016-03-01 12:06:15.5567139,Failed to create request.,Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderException: Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderException: A discovery data item was rejected because the item is already bound to another Membership relationship. ---> Microsoft.EnterpriseManagement.Common.DiscoveryDataLifetimeDependencyException: A discovery data item was rejected because the item is already bound to another Membership relationship.
       at Microsoft.EnterpriseManagement.Common.Internal.ConnectorFrameworkConfigurationServiceProxy.ProcessDiscoveryData(Guid discoverySourceId, IList`1 entityInstances, IDictionary`2 streams, ObjectChangelist`1 extensions)
       at Microsoft.EnterpriseManagement.ConnectorFramework.IncrementalDiscoveryData.CommitInternal(EnterpriseManagementGroup managementGroup, Guid discoverySourceId, Boolean useOptimisticConcurrency)
       at Microsoft.EnterpriseManagement.Common.EnterpriseManagementObjectProjection.CommitInternal(Guid discoverySourceId, Boolean useOptimisticConcurrency)
       at Microsoft.EnterpriseManagement.Common.EnterpriseManagementObjectProjection.CommitInternal(Boolean useOptimisticConcurrency)
       at Microsoft.EnterpriseManagement.ServiceManager.Portal.DataProviders.CreateRequestProvider.CreateRequest(TemplateReader requestDataObject)
       --- End of inner exception stack trace ---
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderCommandMethod.Invoke(CoreDataGateway gateWay, DataCommand command)
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.CoreDataGateway.Execute(DataCommand command)
       at Microsoft.EnterpriseManagement.Presentation.DataAccess.Server.DataAccessService.Execute(TransportDataCommand command)
       at SyncInvokeExecute(Object , Object[] , Object[] )
       at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
       at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
       at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)

       at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

    And the same at html version, but some other logs:

    Server Error in '/' Application.

    Object reference not set to an instance of an object.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

    Source Error:
     
    Line 405:                        <label for="@item["Prompt"].ToString()" data-required="@item["Optional"].ToString()">@item["Prompt"].ToString()</label>
    Line 406:                        <input type="@item["Type"].ToString()" name="@item["PathSend"].ToString()" id="@item["Prompt"].ToString()" @item["Optional"].ToString() @item["ReadOnly"].ToString() value='@Request[item["PathSend"].ToString()]' data-toggle="tooltip" title="@regexToolTip" />
    Line 407:                        <div class="error-text">@ErrorResults.Find(m => m.MemberNames.ElementAt(0).Equals(item["PathSend"].ToString()))</div>
    Line 408:                    }
    Line 409:                }

    Source File: c:\inetpub\wwwroot\SelfServicePortal\Views\Home\MakeForm.cshtml    Line: 407 

    Stack Trace:
     
    [NullReferenceException: Object reference not set to an instance of an object.]
       ASP._Page_Views_Home_MakeForm_cshtml.Execute() in c:\inetpub\wwwroot\SelfServicePortal\Views\Home\MakeForm.cshtml:407
       System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279
       System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +124
       System.Web.WebPages.StartPage.ExecutePageHierarchy() +142
       System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +180
       System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +379
       System.Web.Mvc.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() +32
       System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +613
       System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +263
       System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +230
       System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +28
       System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15
       System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
       System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15
       System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +42
       System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15
       System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288

    Ofcorse, i can fix it by recreate all template, but after that i must make some change in service offering. But i have several complex forms, so I'd rather fix it in a different way.

    Is this a bug in SCCM that has not been corrected, or maybe I have to manually edit the code management pack?
    In my MP with this temaplete i have some line of code references to user references to previous user whose account is disabled - maybe this is the source of the error?



    Karol Kozłowski

    Tuesday, March 1, 2016 4:01 PM

Answers

All replies

  • Hello,

    I would like to suggest you go through the article below to get details about this issue:

    A discovery data item was rejected because the item is already bound to another Membership relationship

    https://blogs.technet.microsoft.com/servicemanager/2012/10/03/a-discovery-data-item-was-rejected-because-the-item-is-already-bound-to-another-membership-relationship/

    Please open your MP where store those templates to check whether each template had a similar group of lines where the Action Log is stored.

    If there is, please try to remove the action log entry for those problem template and check the result.

    Regards,

    Yan Li


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    • Edited by Yan Li_ Wednesday, March 2, 2016 2:40 AM
    • Marked as answer by Karol Kozłowski Wednesday, March 2, 2016 6:31 AM
    Wednesday, March 2, 2016 2:36 AM
  • Good lord, You save my day :)
    All deleted all code like this:

          <Object Path="$Context/Path[Relationship='CustomSystem_WorkItem_Library!System.WorkItemHasActionLog' TypeConstraint='CustomSystem_WorkItem_Library!System.WorkItem.TroubleTicket.ActionLog']$">
            <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem.ActionLog']/ActionType$">$MPElement[Name='CustomSystem_WorkItem_Library!System.WorkItem.ActionLogEnum.RecordAssigned']$</Property>
            <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem.ActionLog']/Title$">Rekord przypisany</Property>
            <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem.ActionLog']/Description$">Przypisany przez MYDOMAIN\user do MYDOMAIN\user</Property>
            <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem.ActionLog']/EnteredBy$">MYDOMAIN\user</Property>
            <Property Path="$Context/Property[Type='CustomSystem_WorkItem_Library!System.WorkItem.ActionLog']/EnteredDate$">12/17/2015 10:48:43</Property>
            <Property Path="$Context/Property[Type='CustomSystem_SupportingItem_Library!System.Information']/Id$">293av507-9246-40d4-b9aa-5ce8c3404879</Property>
          </Object>

    But i have question for the future to avoid similar situations.
    How Avoid it? When i change the Assigned To User its be better do it in xml file or the wine / happening its in that the old user has disabled? It will be work fine without any code editing when old and new user still are on i AD? This relationship of enabled/disabled interesting to me.



    Karol Kozłowski

    Wednesday, March 2, 2016 6:38 AM
  • Hello,

    I would like to suggest you not use action log entries, billable hours, file attachments, etc. in work item templates because you will only be able to create exactly one work item with that template and the rest of the attempts will fail. 

    Regards,

    Yan Li


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    Friday, March 4, 2016 1:15 AM