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.

0
Answered

The target principal name is incorrect when accessing via IIS

Ben Parkinson 7 years ago updated 7 years ago 11

I am receiving an error on the standalone web component when trying to access it.

  • The site is installed and configured on IIS 7.5 per the instructions. 
  • Identity Broker is a base install also following the instructions.  
  • I can access the endpoints hosted on the Identity Broker server from the IIS server. 
  • The website is on port 8200 and shares the server with SharePoint and MIM Service & Portal. 
  • Identity Broker is on a separate server with just MIM Sync. 
  • The server also uses .NET4.6 (only mentioned here as I had issues with SharePoint).
  • I have tried enabling Anonymous Authentication over Windows Authentication and have also tried using the Identity Broker service account in the application pool. 
  • I've disabled Custom Errors to view the error, but have attached  Event Log item with the stack trace. 

It appears to be an authentication error, but I can't for the life of me work out where in the scheme of things it's coming from.

Broker Web Error.evtx

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 14/08/2017 9:20:14 AM 
Event time (UTC): 13/08/2017 11:20:14 PM 
Event ID: 7a9e61eff31a4fedbcdbc46027dff770 
Event sequence: 2 
Event occurrence: 1 
Event detail code: 0 
 
Application information: 
    Application domain: /LM/W3SVC/3/ROOT-1-131471400119122652 
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: C:\inetpub\wwwroot\UnifyIdentityBroker\Identity Broker\StandaloneWeb\ 
    Machine name: IAM-DEV1-MIM2 
 
Process information: 
    Process ID: 5584 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\UNIFYIdentityBroker 
 
Exception information: 
    Exception type: HttpException 
    Exception message: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate oXIwcKADCgEBomkEZ2BlBgkqhkiG9xIBAgIDAH5WMFSgAwIBBaEDAgEepBEYDzIwMTcwODEzMjMyMDE0WqUFAgMNka+mAwIBKakOGwxERVYuQ1NJUk8uQVWqGTAXoAMCAQGhEDAOGwxzYS11bmlmeS1pZGI='.
   at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app)
   at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
   at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
   at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
   at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate oXIwcKADCgEBomkEZ2BlBgkqhkiG9xIBAgIDAH5WMFSgAwIBBaEDAgEepBEYDzIwMTcwODEzMjMyMDE0WqUFAgMNka+mAwIBKakOGwxERVYuQ1NJUk8uQVWqGTAXoAMCAQGhEDAOGwxzYS11bmlmeS1pZGI='.
Server stack trace: 
   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
   at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Unify.Framework.IStandardPostEngineCollector.RequiredSystemTypes()
   at Unify.Product.IdentityBroker.IdentityServiceClient.RequiredSystemTypes()
   at Unify.Connect.Web.ProfiledIdentityServiceClient.RequiredSystemTypes()
   at Unify.Connect.Web.MvcApplication.Application_Start()
The remote server returned an error: (401) Unauthorized.
   at System.Net.HttpWebRequest.GetResponse()
   at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
The target principal name is incorrect
   at System.Net.NTAuthentication.GetOutgoingBlob(Byte[] incomingBlob, Boolean throwOnError, SecurityStatus& statusCode)
   at System.Net.NTAuthentication.GetOutgoingBlob(String incomingBlob)
   at System.Net.NegotiateClient.DoAuthenticate(String challenge, WebRequest webRequest, ICredentials credentials, Boolean preAuthenticate)
   at System.Net.NegotiateClient.Authenticate(String challenge, WebRequest webRequest, ICredentials credentials)
   at System.Net.AuthenticationManagerDefault.Authenticate(String challenge, WebRequest request, ICredentials credentials)
   at System.Net.AuthenticationState.AttemptAuthenticate(HttpWebRequest httpWebRequest, ICredentials authInfo)
   at System.Net.HttpWebRequest.CheckResubmitForAuth()
   at System.Net.HttpWebRequest.CheckResubmit(Exception& e, Boolean& disableUpload)
 
 
Request information: 
    Request URL: http://localhost:8200/ 
    Request path: / 
    User host address: ::1 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: IIS APPPOOL\UNIFYIdentityBroker 
 
Thread information: 
    Thread ID: 12 
    Thread account name: IIS APPPOOL\UNIFYIdentityBroker 
    Is impersonating: False 
    Stack trace:    at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app)
   at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
   at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
   at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
   at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
 
 
Custom event details:
Answer
anonymous 7 years ago

Hi Ben

This issue is a little tricky to troubleshoot as we've not seen this before and isn't something that can be reproduce in a test environment, but have something for you to try.

In both the Unify.Service.Connect.exe.config and the web.config files, find the system.serviceModel element and nested within that find <transport clientCredentialType="Windows" /> and change the Windows value to Ntlm. Restart the website and the IdB service.

Let us know of the outcome.

0
Fixed

LogWriter Object reference not set to an instance of an object.

Ben Parkinson 7 years ago updated by anonymous 7 years ago 11

Hi all,

I receivied the below error in the logs

The 'Error Email Log Writer' log writer - with an id of 'd807b535-f176-40f3-88bd-1105aaed5001' - has been disabled and will no longer actively write log entries. The configuration of this log writer may need to be updated. For more details please see, System.NullReferenceException: Object reference not set to an instance of an object. at Unify.Product.IdentityBroker.LDAPEngineTaskCompletedEvent.GetLogEntryData() at Unify.Framework.Notification.TaskEvent.GetLogEntry() at Unify.Framework.Notification.LogWriterSink.InnerNotify(ILogEntryNotification message) at Unify.Framework.Notification.LogWriterSinkBase.Notify(ILogEntryNotification message)

UNIFY Identity Broker Management Studio - v5.1.0 Revision #2

Answer
anonymous 7 years ago

Sorry Ben, the patch included a fix for an unrelated issue that would also require an update to another DLL. I've instead rolled the patch back to the RTM to remove unrelated changes. This should hopefully do the trick: Unify.IdentityBroker.LDAP.Engine.Notification.dll

0
Not a bug

Global Aderant Expert Connector failed with reason String or binary data would be truncated.

Jerry Natarajan 7 years ago in UNIFYBroker/Aderant Expert updated by anonymous 7 years ago 5

Unify Identity Broker: 4.1.x;
Unify Identity Broker Connector for Expert: v4.1.x;
Unify Identity Broker Connector for Microsoft FIM : v4.1.x.

Backround information:

I added a new field (HP Telephone Number) in Expert and created the field in FIM. The attribute is already present in IDB

The phone number field seems to be already part of the schema in the Global Expert Connector:

Image 4436


Length of field in Expert:

Image 4437

I added a rule to trim the spaces from the phone number when it gets imported into MV from MDR, and re-ran the export/import/sync for Global Expert, and the issue is still the same.

In FIM it looks like the Exports go through, but when you re-import and re-sync, the values don’t get re-imported.

Detailed error:

Error1:

The extensible extension returned an unsupported error.
The stack trace is:
"System.Exception: Error occurred when attempting to save entity with distinguished name
 
UID=53864
 
Error:
 
Cannot insert duplicate key row in object 'dbo.TBM_PERSNL_GL' with unique index 'TBM_PERSNL_GL2'. The duplicate key value is (50014997, 64).
The statement has been terminated.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
   at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
   at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
   at System.Data.Linq.ChangeDirector.StandardChangeDirector.DynamicUpdate(TrackedObject item)
   at System.Data.Linq.ChangeDirector.StandardChangeDirector.Update(TrackedObject item)
   at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
   at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
   at Unify.Product.IdentityBroker.AderantExpert8EmployeeConnector.SaveEntities(IEnumerable`1 entities)
   at Unify.Product.IdentityBroker.EventNotifierUpdatingConnectorDecorator.UpdateEntities(IEnumerable`1 entities)
   at Unify.Product.IdentityBroker.Adapter.UpdateEntities(IEnumerable`1 entities, EntityToConnectorEntityBridge[]& connectorEntities)
   at Unify.Product.IdentityBroker.Adapter.UpdateEntities(IEnumerable`1 entities)
   at Unify.Product.IdentityBroker.AdapterNotifierDecoratorBase`1.UpdateEntity(IAdapterEntity entityToSave)
   at Unify.Product.IdentityBroker.LDIFAdapterBase.HandleExportUpdate(IAdapter adapter, IAdapterEntitySaveChange pendingUpdate, IDictionary`2 getEntityCache)
   at Unify.Product.IdentityBroker.LDIFAdapterBase.ExportChanges(ExportedLDIFForAdapter exportedLdifForAdapter)
   at SyncInvokeExportChanges(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)
   at Unify.Product.IdentityBroker.IdentityBrokerManagementAgentProxy.ExportEntry(ModificationType modificationType, String[] changedAttributes, CSEntry csentry)
Forefront Identity Manager 4.1.3508.0"

 Error 2:

Update entities to connector failed.
Update entities [Count:1] to connector Global Aderant Expert Connector failed with reason String or binary data would be truncated.
The statement has been terminated.. Duration: 00:00:00.2910291
Error details:
System.Data.SqlClient.SqlException (0x80131904): String or binary data would be truncated.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
at System.Data.Linq.ChangeDirector.StandardChangeDirector.DynamicUpdate(TrackedObject item)
at System.Data.Linq.ChangeDirector.StandardChangeDirector.Update(TrackedObject item)
at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
at Unify.Product.IdentityBroker.AderantExpert8EmployeeConnector.SaveEntities(IEnumerable`1 entities)
at Unify.Product.IdentityBroker.EventNotifierUpdatingConnectorDecorator.UpdateEntities(IEnumerable`1 entities)
at Unify.Product.IdentityBroker.Adapter.UpdateEntities(IEnumerable`1 entities, EntityToConnectorEntityBridge[]& connectorEntities)
at Unify.Product.IdentityBroker.Adapter.UpdateEntities(IEnumerable`1 entities)
at Unify.Product.IdentityBroker.AdapterNotifierDecoratorBase`1.UpdateEntity(IAdapterEntity entityToSave)
at Unify.Product.IdentityBroker.LDIFAdapterBase.HandleExportUpdate(IAdapter adapter, IAdapterEntitySaveChange pendingUpdate, IDictionary`2 getEntityCache)
at Unify.Product.IdentityBroker.LDIFAdapterBase.ExportChanges(ExportedLDIFForAdapter exportedLdifForAdapter)
at SyncInvokeExportChanges(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)

When I kick off Exports from FIM Global Expert MA, they seem to go through ok, but when re-imported, “data has not been re-imported” issues comes up every time for the HPPhoneNumber field.

When manually updated a record in Expert with a phone number (using ID Broker sql account), there are no issues.


Answer
anonymous 7 years ago
Hi Curtis, I had a look at the errors and it clearly sending 20+ chars for Phone_No where as the allowed length in Target is 17. So I have mentioned this to Client and they will fix it up in the source.
0
Answered

Import all entities from connector Chris21 Secondment Connector failed with reason Result record does not contain the required "status" attribute.

Jerry Natarajan 7 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 5 years ago 8

Unify Identity Broker: 4.1.x

Unify Identity Broker Connector for chris21  :v4.1.x

Getting this error while importing all from Secondment Connector

Detailed error:
status="ok" expected. Line GTR,S60W71E1R U1903R54 3812 177M33II26S1 03:cbr="zsmlst",sendfields="D",showtranslation="s",filter01="zsmenddate:GE:2017-06-06:or",filter02="zsmenddate:EQ::",maxlines="1000",detnumber="10122",detnumber.trn="Dare H",zsmstartdt="2012-10-01",zsmenddate,zsmscdmthr="35.00",zsmcompany,zsmreptnam,zsmexplnth,zsmchgrate="
Chris21 GTR returned no additional error messages.. Duration: 00:00:02.4782478
Error details:
System.IO.InvalidDataException: Result record does not contain the required "status" attribute.
status="ok" expected. Line GTR,S60W71E1R U1903R54 3812 177M33II26S1 03:cbr="zsmlst",sendfields="D",showtranslation="s",filter01="zsmenddate:GE:2017-06-06:or",filter02="zsmenddate:EQ::",maxlines="1000",detnumber="10122",detnumber.trn="Dare H",zsmstartdt="2012-10-01",zsmenddate,zsmscdmthr="35.00",zsmcompany,zsmreptnam,zsmexplnth,zsmchgrate="
Chris21 GTR returned no additional error messages.
at Unify.Product.IdentityBroker.Chris21Agent.CheckStatusAttribute(IChris21CommandLine chris21GtrCommandLine)
at Unify.Product.IdentityBroker.Chris21Agent.ExtractListResult(ICollection`1 entities, IChris21Record record, IChris21ConnectorInformation connectorRequest)
at Unify.Product.IdentityBroker.Chris21Agent.<listwithchunking>d__4.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Framework.Collections.ActionOnExceptionEnumerator`1.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<actiononlast>d__10`1.MoveNext()
at Unify.Framework.Collections.EnumerableExtensions.<produceautopages>d__7`1.MoveNext()
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit()
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities)
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess()
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase()
at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
at Unify.Product.IdentityBroker.ConnectorJobExecutor.<>c__DisplayClass27_0.<run>b__0()
at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)</run></produceautopages></actiononlast></listwithchunking>


The emp id of 10122 terminated 30/6/2015. Not sure if this helps?

Also this particular secondment record has no end date

Answer
anonymous 7 years ago

The connector checks that there is a status="ok" in each entry. I can't see how end date could have any impact on this. Try running the query in the GTR form for a couple of different forms and compare the output.

0
Answered

Duplicate Key Calculating target to source look up

Tom Parker 7 years ago in UNIFYBroker/Plus updated by anonymous 5 years ago 9

Hi, I'm seeing this error when doing a baseline sync from a locker to AD.


This solution has previously had "An item with the same key has already been added." errors but I'm not sure what this error means.



Image 4424

Unify.Framework.UnifyDataException: Duplicate key calculating target to source id lookup: 138db3b0-4197-4bee-bd1a-010830bebd1d
   at Unify.Product.Plus.DeprovisioningExecutor`2.TargetIdToSourceIdLookupKeyClash(Guid key, Guid value, IConnection original)
   at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashError[TKey,TValue,TOriginal](IEnumerable`1 originalEnumerable, Func`2 keySelector, Func`2 valueSelector, Action`3 duplicateAction)
   at Unify.Product.Plus.DeprovisioningExecutor`2.Execute(IEnumerable`1 page)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Unify.Product.Plus.AdapterToLockerProvisioner.Execute(Func`3 generateAndMapTarget, IDictionary`2 changesDict)
   at Unify.Product.Plus.LinkSynchronizer`2.JoinAndMap(IEnumerable`1 filterResult, IDictionary`2 changesDict)
   at Unify.Product.Plus.Link.SynchronizeChanges[TSourceEntity,TTargetEntity](IEnumerable`1 changes, IEnumerable`1 syncTasks, Func`1 getTargetContextAccessor, IConnectionsContext connectionContext, ISynchronizationHelper`2 helper, IProvisioner`2 provisioner)
   at Unify.Product.Plus.Link.SynchronizeAdapterChanges(IEnumerable`1 changes)
   at Unify.Product.Plus.LinkNotifierDecorator.<>c__DisplayClass42_0.<SynchronizeAdapterChanges>b__0()
   at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
   at Unify.Product.Plus.LinkNotifierDecorator.SynchronizeAdapterChanges(IEnumerable`1 changes)
   at Unify.Product.Plus.LinkAuditingDecorator.SynchronizeAdapterChanges(IEnumerable`1 changes)
   at Unify.Product.Plus.AdapterToLockerSynchronizationJob.RunBase()
   at Unify.Product.Plus.SynchronizationJobExecutor.<ThreadAction>d__8.MoveNext()",Normal


Answer
Curtis Lusmore 6 years ago

This issue is most commonly caused by "broken" connections - connections between locker entities and adapter entities where the adapter entity has since been deleted, and the connection wasn't properly deleted.

You can find such entities with a SQL query like

SELECT *  
FROM [Connections] [c]
LEFT JOIN [Entity] [e] ON [c].[AdapterEntityId] = [e].[EntityId]
WHERE [e].[EntityId] IS NULL
AND [c].[LinkId] = 'your-link-id'

Deleting any connections identified by that with the following query should resolve the issue.

DELETE  
FROM [Connections]
WHERE [ConnectionsKey] IN (
    SELECT [ConnectionsKey]
    FROM [Connections] [c]
    LEFT JOIN [Entity] [e] ON [c].[AdapterEntityId] = [e].[EntityId]
    WHERE [e].[EntityId] IS NULL
    AND [c].[LinkId] = 'your-link-id'
)

Alternatively, clearing the adapter context and re-generating the entities should clear up the connections.

We will need to investigate the cause of the broken connections.

0
Answered

Identity Broker CRM Connector Exported Changes are Not Appearing in CRM

Aneesh Varghese 7 years ago in UNIFYBroker/Microsoft Dynamics CRM updated by Richard Green 6 years ago 5

Previous Version: Microsoft Dynamics CRM Connector v4.1.1.1

Upgraded Version: Microsoft Dynamics CRM Connector v5.1.0.1

Observing a strange behaviour after the Connector upgrade. Exports are successful from IdB and FIM point of view but the changes are not reflected in CRM.

The above mentioned behaviour is happening only for new users/records or if the attribute is "Null" or blank in CRM. Changes are appearing correctly if the attribute is already populated with something (existing contact/record).

Please advise what details you need to troubleshoot this issue.

I already performed the following:

  • Checked the IdB logs but couldn't find any errors
  • Checked with the CRM team
  • Captured the TCP traffic but found the SOAP message is pretty much encrypted
Answer
anonymous 7 years ago

Hi Aneesh,

Here is a patch that should hopefully resolve this issue. Could you backup (to a different location) and replace the Unify.IdentityBroker.Communicator.DynamicsCRM.dll that is currently in the Identity Broker/Services directory with the patched version below.

Unify.IdentityBroker.Communicator.DynamicsCRM.dll

0
Fixed

Value bp is not a valid hexadecimal number

Matthew Woolnough 7 years ago in UNIFYBroker/Microsoft Identity Manager updated by anonymous 7 years ago 5

Running a Delta import and Delta Sync from IdB Sharepoint connector and get the error below. Ran a Full Import and Full Synchronization & the error did not occur.  Ran a Delta import and Delta Sync again and error does not occur.

Not sure if I'll be able to replicate again, but raising regardless.


The extensible extension returned an unsupported error.
 The stack trace is:
 
 "System.ArgumentException: Value bp is not a valid hexadecimal number.
Parameter name: sourceValue
   at Unify.Framework.IO.DNComponentAttributeValueParserAdapter.Transform(String sourceValue)
   at Unify.Framework.IO.DistinguishedNameComponent.CreateDNComponent(String dnComponentString)
   at Unify.Framework.IO.DistinguishedNameConversionFromString.CreateDistinguishedName()
   at Unify.Product.IdentityBroker.ImportProxy.GetContainerName(String dn)
   at Unify.Product.IdentityBroker.ImportProxy.TryGetObjectClass(String dn, String& objectClass)
   at Unify.Product.IdentityBroker.ImportProxy.<EntryToDeltas>d__25.MoveNext()
   at System.Linq.Enumerable.<SelectManyIterator>d__16`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.UnifyLdapConnectorTypeProxy.GetImportEntries(GetImportEntriesRunStep importRunStep)
   at Unify.Product.IdentityBroker.UnifyLdapConnector.GetImportEntries(GetImportEntriesRunStep importRunStep)
Forefront Identity Manager 4.4.1459.0"


Answer
anonymous 7 years ago

Hi Matt,

Thanks for raising this. This looks to be the same issue as DN Creation not escaping LDAP Reserved Characters. I've created a new build of the Identity Broker for Microsoft Identity Manager management agent which includes the fix from there, attached here: Unify.IdentityBroker.FIMAdapter.dll. Please update the DLL in the FIM Extensions directory and re-attempt the import.

0
Not a bug

Given_Names not appearing in Connector

Matthew Woolnough 7 years ago in UNIFYBroker/Aurion updated by anonymous 7 years ago 4

Given_Names is included in Schema of the Aurion Connector. I can see the attribute has values in Wireshark packet trace as seen below, but no objects have a value in the attribute in the connector.


<AQT_Output>
  <Employee_Number>546</Employee_Number>
  <Person_Number>546</Person_Number>
  <Surname>Lord</Surname>
  <Given_Names>Dale Brendan</Given_Names>
  <Preferred_Name>Dale</Preferred_Name>
  <Salutation>Mr</Salutation>
  <Person_Type>EMPLOYEE</Person_Type>
  <Employment_Type_Code>CA</Employment_Type_Code>
  <Actual_Position_Number>L42368V</Actual_Position_Number>
  <Actual_Organisation_Unit_Number>426</Actual_Organisation_Unit_Number>
  <Date_Commenced>01-JUL-1999</Date_Commenced>
  <Date_Terminated></Date_Terminated>
  <Contract_Expiry_Date></Contract_Expiry_Date>
  <Leave_Date_From></Leave_Date_From>
  <Leave_Date_To></Leave_Date_To>
  <Leave_Type_Code></Leave_Type_Code>
  <Organisation_Unit_Level_01>APRA Members</Organisation_Unit_Level_01>
  <Organisation_Unit_Level_02>Specialised Institutions</Organisation_Unit_Level_02>
  <Organisation_Unit_Level_03>Sth West-Melb (SID)</Organisation_Unit_Level_03>
  <Primary_Cost_Code>SID310</Primary_Cost_Code>
  <Attendance_Type_Code>FULL</Attendance_Type_Code>
  <Actual_Location_Code>MELB</Actual_Location_Code>
 </AQT_Output>


Answer
anonymous 7 years ago

When you edit your connector settings, does the mapping look like the screenshot here? If so, the problem is that you don't have a GivenNames field in the schema - rename the Given_Names schema field to GivenNames.

0
Not a bug

The resource cannot be found - /Account/LogOn

Bob Bradley 7 years ago updated by anonymous 7 years ago 8

Using

  • IdB service v4.1.5.5
  • IdB for Microsoft Active Directory 4.1.2.1
  • IdB for PeopleSoft Connector 4.1.0.0
  • IdB for FIM 4.0.0.3

* Note - About page incorrectly showing this: "UNIFY Identity Broker Management Studio, v0.0.5 Revision #5" ... can't explain this!

The following error is thrown when starting on the ABOUNT page (/About) and clicking on the Identity Btroker home page image to return to the dashboard.

The resource cannot be found. 
  Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

 Requested URL: /Account/LogOn

The URL for this page is as follows:

http://localhost:8008/Account/LogOn?ReturnUrl=%2f

I am running IdB under IIS.  Navigating directly to the home page (by removing everything after the 8008 port number in the URL) also fails - only works after I put in a trailing ?, i.e.

http://localhost:8008/?

I am using a clean install of IdB 4.1, using the extensibility files from the (to be retired) existing v4.1.4 RTM version.

Answer
anonymous 7 years ago

Please try updating the authentication node in the web.config to:

<authentication mode="Windows" />

0
Fixed

Updates to IdMParentProfileReference not being saved

Matthew Woolnough 7 years ago in UNIFYBroker/Microsoft SharePoint updated by anonymous 7 years ago 4

The format of IdMParentProfileReference attribute has changed due to new IdB DNs structure. The DN is not saving however. No error is thrown, just get an exported change is not re-imported error.


Image 4409




Answer
anonymous 7 years ago

See latest v5.1.1 DEV build (not in place upgrade as the version hasn't updated). There's a new setting on the org connector for the org adapter.