Identity Broker Forum
Welcome to the community forum for Identity Broker.
Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.
System.NotSupportedException: Cannot write to a BufferedStream
I wanted to try out browsing an IdB 5.1 adapter through LDAP. I can connect to port 389 with both ADSIEdit and Softerra, and I can see a list of available containers. In ADSIEdit I also managed to see a list of object DNs in one of the containers, but couldn't get any of their properties. Softerra won't even show me the list of objects - it just sits there with a wait symbol on getting the selected container. (MA imports into MIM do work however.)
In the IdB logs I see this error:
An error occurred on client from 127.0.0.1:52790. More details:Internal Server Error #11: System.NotSupportedException: Cannot write to a BufferedStream while the read buffer is not empty if the underlying stream is not seekable. Ensure that the stream underlying this BufferedStream can seek or avoid interleaving read and write operations on this BufferedStream. at System.IO.BufferedStream.ClearReadBufferBeforeWrite() at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count) at Unify.Product.IdentityBroker.LDAPConnection.PostResponse(IRfcLdapMessage message, Boolean forceFlush) at Unify.Product.IdentityBroker.RequestHandlerAuditingDecorator.<>c__DisplayClass7_1.<HandleRequest>b__0(IRfcLdapMessage response) at Unify.Product.IdentityBroker.SearchRequestHandlerBase.HandleRequest(IRfcLdapMessage message, CancellationToken token, Action`1 postAction) at Unify.Product.IdentityBroker.RequestHandlerAuditingDecorator.HandleRequest(IRfcLdapMessage message, CancellationToken token, Action`1 postAction) at Unify.Product.IdentityBroker.LDAPRequestHandlerSecurityDecorator.HandleRequest(IRfcLdapMessage message, CancellationToken token, Action`1 postAction) at Unify.Product.IdentityBroker.LDAPConnection.<RespondToMessageAsync>d__35.MoveNext()
Aurion Agent 5.1 not saving
Installed IdB 5.1 RC in a lab with Aurion 5.1 RC. Creating an agent for Aurion lets me fill in the fields, but on saving throws the following error:
System.IO.FileNotFoundException: Could not load file or assembly
'Unify.Framework.Communicator.Certificate, Version=5.2.0.0,
Culture=neutral, PublicKeyToken=84b9288cb2633de4' or one of its
dependencies. The system cannot find the file specified.
File name: 'Unify.Framework.Communicator.Certificate, Version=5.2.0.0, Culture=neutral, PublicKeyToken=84b9288cb2633de4'
at Unify.Connect.Web.AurionAgentController.Serialize(AurionAgentViewInformation viewInformation)
at Unify.Connect.Web.AurionAgentController.CreateOrEdit(AurionAgentViewInformation saveInformation)
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext
controllerContext, ActionDescriptor actionDescriptor, IDictionary`2
parameters)
at
System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__36(IAsyncResult
asyncResult, ActionInvocation innerInvokeState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
at
System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3c()
at
System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass45.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3e()
at
System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass30.<BeginInvokeActionMethodWithFilters>b__2f(IAsyncResult
asyncResult)
at
System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass1e.<>c__DisplayClass28.<BeginInvokeAction>b__19()
at
System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass1e.<BeginInvokeAction>b__1b(IAsyncResult
asyncResult)
The fix for this has been included in Identity Broker v5.1 RC2. Please note that this has not required a re-release of any of the connectors themselves, only Identity Broker.
Unify Products Stamp incorrect time into Logs at rollover
Unify Logs Start at 00:00:01, which is local time, but all other log entries occur at UTC time.
Case-insensitive uniqueness of LDAP attribute names
Just in case anyone else makes the same silly mistake as I did:
IdB 5.1 and MIM Sync. Adapter was populated, MA created fine, but then got a stopped-extension-dll-exception on the Full Import (full event message below).
The problem was I had done some rename and other transformations which ended up with some fileds with the same name but different casing - FIELDNAME and fieldName. Idb accepted it, and interestingly MIM also accepted it when creating the MA. It was only on running the Import I got an error.
Log Name: ApplicationSource: FIMSynchronizationService Date: 8/19/2016 3:18:58 AM Event ID: 6801 Task Category: Server Level: Error Keywords: Classic User: N/A Computer: <name> Description: The extensible extension returned an unsupported error. The stack trace is: "System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer) at Unify.Product.IdentityBroker.SearchResultEntry.get_Attributes() at Unify.Product.IdentityBroker.ImportProxy.EntryToAdd(SearchResultEntry searchEntry) at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext() at Unify.Product.IdentityBroker.ExtensionMethods.Take[TSource](IEnumerator`1 source, Int32 count, IList`1& items) at Unify.Product.IdentityBroker.ExtensionMethods.<Page>d__3`1.MoveNext() at Unify.Product.IdentityBroker.ImportProxy.Import(GetImportEntriesRunStep importRunStep) at Unify.Product.IdentityBroker.UnifyLdapConnector.GetImportEntries(GetImportEntriesRunStep importRunStep) Forefront Identity Manager 4.3.2266.0" Event Xml: <System> <Provider Name="FIMSynchronizationService" /> <EventID Qualifiers="49152">6801</EventID> <Level>2</Level> <Task>3</Task> <Keywords>0x80000000000000</Keywords> <TimeCreated SystemTime="2016-08-19T03:18:58.000000000Z" /> <EventRecordID>8430</EventRecordID> <Channel>Application</Channel> <Computer>c21-mim.chris21demo.unifysolutions.local</Computer> <Security /> </System> <EventData> <Data>System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer) at Unify.Product.IdentityBroker.SearchResultEntry.get_Attributes() at Unify.Product.IdentityBroker.ImportProxy.EntryToAdd(SearchResultEntry searchEntry) at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext() at Unify.Product.IdentityBroker.ExtensionMethods.Take[TSource](IEnumerator`1 source, Int32 count, IList`1& items) at Unify.Product.IdentityBroker.ExtensionMethods.<Page>d__3`1.MoveNext() at Unify.Product.IdentityBroker.ImportProxy.Import(GetImportEntriesRunStep importRunStep) at Unify.Product.IdentityBroker.UnifyLdapConnector.GetImportEntries(GetImportEntriesRunStep importRunStep) Forefront Identity Manager 4.3.2266.0</Data> </EventData> </Event>
Effort required to upgrade IdB to 5.0 to 5.1
Being a minor release, I expect the effort to be minor, but just after some confirmation of this.
How long has this process taken during testing?
Hi Matthew,
The MA just gets dropped in. It should just work. If delta's don't it's due to a bug in MIM that prevents the watermark from being persisted. We're not sure what the trigger is for fixing it, however, two sites had it start working after recreating the MA.
Identity Broker takes about 10 minutes, plus about 2 minutes per connector. The changes are fairly well isolated so unlikely to cause issues. Plus any testing.
Thanks.
FIM Identity Broker 5.1 RC Management agent errors on Delta Imports
When attempting to run a Delta Import on an IDB MA the MIM UI throws up that the MA has detected that a full import is required.
When running a Delta Import the error below appears in the Windows Event Log. Restarted IDB and attempted a delta import after a full import however the error still persists.
The extensible extension returned an unsupported error.
The stack trace is:
"System.FormatException: Invalid change number: ''
at Unify.Product.IdentityBroker.ImportProxy.DeltaImportPaged(GetImportEntriesRunStep importRunStep)
at Unify.Product.IdentityBroker.ImportProxy.Import(GetImportEntriesRunStep importRunStep)
Forefront Identity Manager 4.3.2124.0"
Issue has now been resolved - appears to have corrected itself after a number of full import runs.
Had to change LDAP IP address in IdB 5.1
IdB 5.1 and FIM Sync are on different servers. The Sync server was unable to contact the IdB server over port 389 (including from telnet). Windows firewalls were not enabled.
The fix was to change the LDAP server address in IdB from 127.0.0.1 to 0.0.0.0.
No not necessarily - just putting it here in case anyone else has this problem.
Filter on NotNull
I want to set the connector filter to exclude contacts that don't have an email adress. I have checked this page: https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.conditionoperator.aspx and there is a filterType "NotNull" however IdB won't let me save "emailaddress1 NotNull". I think it is looking for a value on the other side of the filter, but for this I don't need one.
I tried setting setting "emailaddress1 NotNull Null" and also tried setting fieldValue="" in the Connector XML but for both I get this error in running the Import: "Condition operation 'NotNull' requires that no values are set".
Also tried "emailaddress1 Contains @" but I guess emailaddress1 isn't full-text indexed as I got the SQL error mentioned in the article.
And "emailaddress1 NotEqual Null" was accepted, and imported, but imported everything, irrespective of emailaddress1 having a value or not.
The filter currently assumes that there is a field, type and value, so I'll have a look at what can be done here.
No container imported
IdB 4.1.5. The version number on the FIMEngine dll is 4.0.0.3.
There are no objects in the adapter, however I would still expect a container to be imported into FIM when I run a Full Import. Instead I get no objects, which means I can't provision as I don't have the parent container. How can I get that container object?
The container object type appears in the MA Object Types. The DN template in the adapter is "CN=@IdBID,OU=PRISM_ExternalIdentities".
IdB for FIM 5 - the extension could not be loaded
I have installed FIM adapter 5.0.4.0 (I see a more recent version in the doco but that is the latest under subscribers). When trying to create the MA for IDB5, I can browse for the FIMAdapter.dll, but when I refresh interfaces I get error The extension could not be loaded.
I have looked at http://voice.unifysolutions.net/topics/428-creating-idb-5-ecma2-receive-error-could-not-load-file-or-assembly-microsoftmetadirectoryservicesex/
And tried modifying the new version listed for both mmsscript and miisserver config files, but the error persists.
Any idea what else to try?
Never mind - I found the little note in the doco that tells me what hotfix I need
Customer support service by UserEcho