none
System.InvalidOperationException: The type Microsoft.MetadirectoryServices.FunctionLibrary.NoFlowSingleton was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically RRS feed

  • Question

  • Hi,

    Whenever I am trying to create new user its giving me below postprocessing error on portal log.But user is getting created synced to active directory. Suddenly some access issue happened which we recovered but this issue started, Can somebody help.

    System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: The type Microsoft.MetadirectoryServices.FunctionLibrary.NoFlowSingleton was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.
       at System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(String name, String ns, Object o, Boolean xsiType)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterRequestParameter.Write1_Object(String n, String ns, Object o, Boolean isNullable, Boolean needType)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterRequestParameter.Write9_UpdateRequestParameter(String n, String ns, UpdateRequestParameter o, Boolean isNullable, Boolean needType)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterRequestParameter.Write11_RequestParameter(Object o)
       --- End of inner exception stack trace ---
       at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
       at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o)
       at Microsoft.ResourceManagement.WebServices.WSResourceManagement.RequestType.AddParameter(RequestParameter parameter)
       at Microsoft.ResourceManagement.WebServices.WSResourceManagement.RequestType.SetRequestParameters(OperationType operation, UniqueIdentifier targetObject, List`1 requestParameters)
       at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(CreateRequestDispatchParameter dispatchParameter)
       at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier targetIdentifier, OperationType operation, String businessJustification, List`1 requestParameters, CultureInfo locale, Boolean isChildRequest, Guid cause, Boolean doEvaluation, Nullable`1 serviceId, Nullable`1 servicePartitionId, Boolean maintenanceMode, String synchronizationSequenceIdentifier)
       at Microsoft.ResourceManagement.WebServices.RequestDispatcher.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier targetIdentifier, OperationType operation, String businessJustification, List`1 requestParameters, CultureInfo locale, Boolean isChildRequest, Guid cause)
       at Microsoft.ResourceManagement.Workflow.Hosting.RequestWorkItemProcessor.CreateRequest(UniqueIdentifier requestor, UniqueIdentifier objectId, OperationType operation, List`1 requestParameters, Guid parentRequest)
       at Microsoft.ResourceManagement.Workflow.Hosting.RequestWorkItemProcessor.ProcessPutWorkItem(UpdateRequestWorkItem updateWorkItem)
       at Microsoft.ResourceManagement.Workflow.Hosting.RequestWorkItemProcessor.ProcessWorkItem(WorkItem workItem)</RequestStatusDetail>

    Thanks,

    Venkatesh Mahajan

    Tuesday, June 7, 2016 11:24 PM

All replies

  • Venkatesh,

    You have hopefully solved your error by now. If so please share what you learned so as to help others.

    If not, I suspect that this is caused by some action workflow that is taking place after the creation of the user object has been committed. That is why the user still gets synced. I would need to see your request objects and the workflows to sort that out. More than likely one of the activities in your workflow is retrieving more than one value when only one is expected or not retrieving anything at all.


    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

    Friday, September 9, 2016 11:13 PM
  • Hi David,

    Yes I did resolve the issue. It was workflow which was corrupted. I recreated the same workflow and it started working.

    Tuesday, June 13, 2017 8:34 PM
  • FWIW, I just helped a client diagnose. They were trying to set a Boolean attribute to Null()and that failed with this error. Changing the workflow to set to False did the trick. While proper LDAP is to clear the attribute, the underlying SQL of FIM/MIM doesn't allow.

    Microsoft Exchange admins who have been setting msExchHideFromAddressLists to FALSE have "technically" been doing the wrong thing if you read the LDAP RFCs. However, Exchange dutifully deals with the tri-state Boolean: true, false, non-existent.

    When you set  the value to false, the LDAP filter (msExchHideFromAddressLists=*) returns objects that are set to either true and false where the reasonable expectation is objects where the value is set.

    Mike Liben

    Oxford Computer Group

    Wednesday, September 26, 2018 2:45 PM