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

Data Transformation on fetching previous position end date

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

Hi,

I am trying to do a data transformation in Chris 21 person Adapter in IdB 4.1

Connector: Ch21 Placement connector

join criteria: detnumber

What I want to achieve:

select top 1 posenddate from all positions held(sort on desc) where end date is NOT null(which will be current position, so we don't want that)

is there a way to do this OOTB in IdB 4.1?

Answer
anonymous 7 years ago

The current set of join transformation options will all pick the open transformation, with the only way to select the previous being to change the offset of the window - which is not quite what you're after. In v5.1 you would be able to write the logic yourself using the PowerShell transformation. I believe your options are:

  • Use your solution logic to do the selection;
  • Update to v5.1 and use the PowerShell transformation;
  • Write an extended transformation using code (not recommended as it's not trivial).
0
Not a bug

Chris21 Connector updating source attributes, that are not configured

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

@HSF, We migrated IdB4.0 to 4.1 and we have configured in FIM to flow email address to update back in chris21. And during testing chris21 tech team found that IdB is updating attributes like surname, dob etc in addition to email address. I checked all connector and adapter configuration, there is no flow to the above attributes. in FIM there is just one export flow from MV to chris21 person, email address. I can send the adapter and connector config, but couldnt find a way to add them here.

Image 3730

Answer
anonymous 7 years ago

Jerry confirmed that this was the case.

0
Not a bug

Error on import from chris21

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

I'm getting the following error on import from Identity Broker for chris21 v4.1.

Change detection engine import all items failed.Change detection engine import all items for connector Chris21 Person Connector failed with reason An error occurred while evaluating a task on a worker thread. See the inner exception details for information.. Duration: 00:00:51.0016320
Error details:
Unify.Framework.EvaluatorVisitorException: An error occurred while evaluating a task on a worker thread. See the inner exception details for information. ---> System.ArgumentException: An item with the same key has already been added.
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 System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector)
at Unify.Product.IdentityBroker.PageableEntityChangesReportGenerator`2.ToDistinctChangesEnumerable(IEnumerable`1 entitiesWithKey, IHashSet`1& knownEntityKeys)
at Unify.Product.IdentityBroker.PageableEntityChangesReportGenerator`2.CreateDifferencesReport(IEnumerable`1 knownEntities, IEnumerable`1 newEntities)
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetectionOnConnectorEntityPage(IEnumerable`1 connectorEntities, Int32& index, Int32 entitiesProcessedSoFar, IEntityChangesReportGenerator`2 reportGenerator, IHashSet`1 seenKeys)
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass12_0.<PerformChangeDetection>b__0(IEnumerable`1 page)
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate()
--- End of inner exception stack trace ---
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.CheckForException()
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.WaitForAvailableThread()
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)

Answer
anonymous 7 years ago

Issue was resolved via data refresh.

0
Answered

Changes register item processing on connector Chris21 Work Address Connector failed with reason The column adrline1 is not a pre-existing column in adapter Chris21 Person

André van der Westhuizen 7 years ago in UNIFYBroker/Frontier ichris/chris21 updated 7 years ago 5

The Connector import complete but we receive the error in the logs, do we need to bring the adrline1 column into the adapter by itself as well?

Changes register item processing on failed.

Changes register item processing on connector Chris21 Work Address Connector failed with reason The column adrline1 is not a pre-existing column in adapter Chris21 Person (ba1a8cf9-e7af-42dd-b53f-34c0ca938221). Please check your configuration before continuing. Currently known fields: detnumber, dettitle, detsurname, detdatejnd, detg1name1, detg1name2, detg1name3, detprefnm, detpresurn, dettele, detbirdate, detsex, detcntrynm, detcitcd, detmarcd, detmardate, detemailad, detaltnbr, detabn, detbutton, detpaytype, detterdate, detalttele, detpasssur, detglbexp, terdate, terlstduty, terminated, archivedate, forarchive, lvetypecd, lvestart, lveend, posstart, posend, posholzone, posavhrwk, posalttitl, posstatus, posempocc, possupervis, poscostgrp, poslvegrp, pospdtreas, pospdtel, posdayswk, posl1cd, posl2cd, posl3cd, posl4cd, posl5cd, posindustry, posl1cdtrn, posl2cdtrn, posl3cdtrn, posl4cdtrn, posl5cdtrn, managerref, nextposstart, nextposend, nextposholzone, nextposavhrwk, nextposalttitl, nextposstatus, nextposempocc, nextpossupervis, nextposcostgrp, nextposlvegrp, nextpospdtreas, nextpospdtel, nextposdayswk, nextposl1cd, nextposl2cd, nextposl3cd, nextposl4cd, nextposl5cd, nextposl1cdtrn, nextposl2cdtrn, nextposl3cdtrn, nextposl4cdtrn, nextposl5cdtrn, nextposindustry, workadrline1, homeadrcntsur, homeadrcntname, homeadrcntrel, homeadrcntphon, homeadrline1, homeadrline2, homeadrsuburb, homeadrstate, homeadrcountry, homeadrpstcode, zsmcompany, zsmstartdt, zsmenddate, zsmexplnth, zsmchgrate, zsmreptnam, zsmscdmthr, zsmincity, erhstartdt, erhenddate, erhrstrcd, erhrstrcdtrn, erhoffsetd, erhreason, erhrwpdate, zadadmdate, zadexpdate, zadpromsa, zadovsad, zadgraddat, zadmerce2, zadpartner, zadexeccou, zadspeccou, zadjuricrt, zadovscrt, zadpraccrt, zadfedreg, zadcerttyp, zadsupres, zadmemnum, zadovschek, zadjurifrs, zadjursact, zadjursnsw, zadjursnt, zadjursqld, zadjurssa, zadjurstas, zadjursvic, zadjurswa, zadjursoth, zadadmaus, holidayGroup, OfficeCode, timeEntryCode, expertPersonnelTypeCode, ProfitCentreCode, ProfitCentreDescription, DeptCode, DeptDesc, PracticeGroup, GlbSupervisID. Duration: 00:00:34.6274624
Error details:
Unify.Product.IdentityBroker.AdapterColumnException: The column adrline1 is not a pre-existing column in adapter Chris21 Person (ba1a8cf9-e7af-42dd-b53f-34c0ca938221). Please check your configuration before continuing. Currently known fields: detnumber, dettitle, detsurname, detdatejnd, detg1name1, detg1name2, detg1name3, detprefnm, detpresurn, dettele, detbirdate, detsex, detcntrynm, detcitcd, detmarcd, detmardate, detemailad, detaltnbr, detabn, detbutton, detpaytype, detterdate, detalttele, detpasssur, detglbexp, terdate, terlstduty, terminated, archivedate, forarchive, lvetypecd, lvestart, lveend, posstart, posend, posholzone, posavhrwk, posalttitl, posstatus, posempocc, possupervis, poscostgrp, poslvegrp, pospdtreas, pospdtel, posdayswk, posl1cd, posl2cd, posl3cd, posl4cd, posl5cd, posindustry, posl1cdtrn, posl2cdtrn, posl3cdtrn, posl4cdtrn, posl5cdtrn, managerref, nextposstart, nextposend, nextposholzone, nextposavhrwk, nextposalttitl, nextposstatus, nextposempocc, nextpossupervis, nextposcostgrp, nextposlvegrp, nextpospdtreas, nextpospdtel, nextposdayswk, nextposl1cd, nextposl2cd, nextposl3cd, nextposl4cd, nextposl5cd, nextposl1cdtrn, nextposl2cdtrn, nextposl3cdtrn, nextposl4cdtrn, nextposl5cdtrn, nextposindustry, workadrline1, homeadrcntsur, homeadrcntname, homeadrcntrel, homeadrcntphon, homeadrline1, homeadrline2, homeadrsuburb, homeadrstate, homeadrcountry, homeadrpstcode, zsmcompany, zsmstartdt, zsmenddate, zsmexplnth, zsmchgrate, zsmreptnam, zsmscdmthr, zsmincity, erhstartdt, erhenddate, erhrstrcd, erhrstrcdtrn, erhoffsetd, erhreason, erhrwpdate, zadadmdate, zadexpdate, zadpromsa, zadovsad, zadgraddat, zadmerce2, zadpartner, zadexeccou, zadspeccou, zadjuricrt, zadovscrt, zadpraccrt, zadfedreg, zadcerttyp, zadsupres, zadmemnum, zadovschek, zadjurifrs, zadjursact, zadjursnsw, zadjursnt, zadjursqld, zadjurssa, zadjurstas, zadjursvic, zadjurswa, zadjursoth, zadadmaus, holidayGroup, OfficeCode, timeEntryCode, expertPersonnelTypeCode, ProfitCentreCode, ProfitCentreDescription, DeptCode, DeptDesc, PracticeGroup, GlbSupervisID ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.

at System.Collections.Generic.Dictionary`2.get_Item(TKey key)

at Unify.Product.IdentityBroker.AdapterColumnSources.get_Item(GroupedNameValueCollectionKey column)
--- End of inner exception stack trace ---
at Unify.Product.IdentityBroker.AdapterColumnSources.get_Item(GroupedNameValueCollectionKey column)
at Unify.Product.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.<>c__DisplayClass25.<CalculatePossibleAffectedItems>b__11(IAttributeMappingInformation item)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Product.IdentityBroker.AttributeMapper.MapAttributeValues(IEntity leftSideEntity, IEntity rightSideEntity)
at Unify.Product.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.<>c__DisplayClass27.<CalculatePossibleAffectedItems>b__19(<>f__AnonymousTypea`2 <>h__TransparentIdentifierb)
at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x)
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.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.CalculatePossibleAffectedItems(IEnumerable`1 affectedEntities, IAdapterColumnSources columnSources)
at Unify.Product.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.DetermineChangeTimes(IChangeDetectionTimeChangeReport report, DateTime lowerLimit, DateTime upperLimit, IAdapterColumnSources columnSources)
at Unify.Product.IdentityBroker.ChainedTransformationChangeProcessor.PublishChange(IEnumerable`1 changedEntities, DateTime changeProcessTime, ICollection`1 changeRecords)
at Unify.Product.IdentityBroker.ChainedTransformationChangeProcessor.ProcessChangeReport(IDictionaryTwoPassDifferenceReport`4 changesReport, DateTime changeProcessTime)
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.IdentityBroker.ChangeReportProcessor.CreateAndProcessReport[T](ITransformationChangeProcessor[] adapterTransformationProcessors, IEnumerable`1 sourceEnumerable, DateTime changeTime, HashSet`1 invalidEntities, Action`2 addAction, Func`3 addCheck)

at Unify.Product.IdentityBroker.ChangeReportProcessor.ProcessReport(IChangeReportProcessingRequest request)

Answer
anonymous 7 years ago

Hi André,

Did you check for existing instance of this issue? Please follow the resolution from http://voice.unifysolutions.net/topics/2675-unifyproductidentitybrokeradaptercolumnexception-the-column-erhrstrcdtrn-is-not-a-pre-existing/ (either discontinue use of v4.0.x, or install the available patch).

An FYI, a notice will be going out shortly about End of Product Life, so support for v4.0 will be ending (as per https://unifysolutions.jira.com/wiki/display/IDB/End+of+Product+Life+Policy).

Thanks.

0
Answered

Unify.Product.IdentityBroker.AdapterColumnException: The column erhrstrcd.trn is not a pre-existing column in adapter

André van der Westhuizen 7 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 7 years ago 4

Have migrated the IdB 4.0 configuration to a new test environment and almost for all the Connector Import All I receive a similar error, event though the connector import complete. I have check the configuration and the attribute is available in the connector and there is a transformation for the attribute in the adapter.

20161030,22:18:42,UNIFY Identity Broker,Change detection engine,Error,"Changes register item processing on failed.Changes register item processing on connector Chris21 Roster Connector failed with reason The column erhrstrcd.trn is not a pre-existing column in adapter Chris21 Person (ba1a8cf9-e7af-42dd-b53f-34c0ca938221). Please check your configuration before continuing. Currently known fields: detnumber, dettitle, detsurname, detdatejnd, detg1name1, detg1name2, detg1name3, detprefnm, detpresurn, dettele, detbirdate, detsex, detcntrynm, detcitcd, detmarcd, detmardate, detemailad, detaltnbr, detabn, detbutton, detpaytype, detterdate, detalttele, detpasssur, detglbexp, terdate, terlstduty, terminated, archivedate, forarchive, lvetypecd, lvestart, lveend, posstart, posend, posholzone, posavhrwk, posalttitl, posstatus, posempocc, possupervis, poscostgrp, poslvegrp, pospdtreas, pospdtel, posdayswk, posl1cd, posl2cd, posl3cd, posl4cd, posl5cd, posindustry, posl1cdtrn, posl2cdtrn, posl3cdtrn, posl4cdtrn, posl5cdtrn, managerref, nextposstart, nextposend, nextposholzone, nextposavhrwk, nextposalttitl, nextposstatus, nextposempocc, nextpossupervis, nextposcostgrp, nextposlvegrp, nextpospdtreas, nextpospdtel, nextposdayswk, nextposl1cd, nextposl2cd, nextposl3cd, nextposl4cd, nextposl5cd, nextposl1cdtrn, nextposl2cdtrn, nextposl3cdtrn, nextposl4cdtrn, nextposl5cdtrn, nextposindustry, workadrline1, homeadrcntsur, homeadrcntname, homeadrcntrel, homeadrcntphon, homeadrline1, homeadrline2, homeadrsuburb, homeadrstate, homeadrcountry, homeadrpstcode, zsmcompany, zsmstartdt, zsmenddate, zsmexplnth, zsmchgrate, zsmreptnam, zsmscdmthr, zsmincity, erhstartdt, erhenddate, erhrstrcd, erhrstrcdtrn, erhoffsetd, erhreason, erhrwpdate, zadadmdate, zadexpdate, zadpromsa, zadovsad, zadgraddat, zadmerce2, zadpartner, zadexeccou, zadspeccou, zadjuricrt, zadovscrt, zadpraccrt, zadfedreg, zadcerttyp, zadsupres, zadmemnum, zadovschek, zadjurifrs, zadjursact, zadjursnsw, zadjursnt, zadjursqld, zadjurssa, zadjurstas, zadjursvic, zadjurswa, zadjursoth, zadadmaus, holidayGroup, OfficeCode, timeEntryCode, expertPersonnelTypeCode, ProfitCentreCode, ProfitCentreDescription, DeptCode, DeptDesc, PracticeGroup. Duration: 00:00:22.7662764
Error details:
Unify.Product.IdentityBroker.AdapterColumnException: The column erhrstrcd.trn is not a pre-existing column in adapter Chris21 Person (ba1a8cf9-e7af-42dd-b53f-34c0ca938221). Please check your configuration before continuing. Currently known fields: detnumber, dettitle, detsurname, detdatejnd, detg1name1, detg1name2, detg1name3, detprefnm, detpresurn, dettele, detbirdate, detsex, detcntrynm, detcitcd, detmarcd, detmardate, detemailad, detaltnbr, detabn, detbutton, detpaytype, detterdate, detalttele, detpasssur, detglbexp, terdate, terlstduty, terminated, archivedate, forarchive, lvetypecd, lvestart, lveend, posstart, posend, posholzone, posavhrwk, posalttitl, posstatus, posempocc, possupervis, poscostgrp, poslvegrp, pospdtreas, pospdtel, posdayswk, posl1cd, posl2cd, posl3cd, posl4cd, posl5cd, posindustry, posl1cdtrn, posl2cdtrn, posl3cdtrn, posl4cdtrn, posl5cdtrn, managerref, nextposstart, nextposend, nextposholzone, nextposavhrwk, nextposalttitl, nextposstatus, nextposempocc, nextpossupervis, nextposcostgrp, nextposlvegrp, nextpospdtreas, nextpospdtel, nextposdayswk, nextposl1cd, nextposl2cd, nextposl3cd, nextposl4cd, nextposl5cd, nextposl1cdtrn, nextposl2cdtrn, nextposl3cdtrn, nextposl4cdtrn, nextposl5cdtrn, nextposindustry, workadrline1, homeadrcntsur, homeadrcntname, homeadrcntrel, homeadrcntphon, homeadrline1, homeadrline2, homeadrsuburb, homeadrstate, homeadrcountry, homeadrpstcode, zsmcompany, zsmstartdt, zsmenddate, zsmexplnth, zsmchgrate, zsmreptnam, zsmscdmthr, zsmincity, erhstartdt, erhenddate, erhrstrcd, erhrstrcdtrn, erhoffsetd, erhreason, erhrwpdate, zadadmdate, zadexpdate, zadpromsa, zadovsad, zadgraddat, zadmerce2, zadpartner, zadexeccou, zadspeccou, zadjuricrt, zadovscrt, zadpraccrt, zadfedreg, zadcerttyp, zadsupres, zadmemnum, zadovschek, zadjurifrs, zadjursact, zadjursnsw, zadjursnt, zadjursqld, zadjurssa, zadjurstas, zadjursvic, zadjurswa, zadjursoth, zadadmaus, holidayGroup, OfficeCode, timeEntryCode, expertPersonnelTypeCode, ProfitCentreCode, ProfitCentreDescription, DeptCode, DeptDesc, PracticeGroup ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Unify.Product.IdentityBroker.AdapterColumnSources.get_Item(GroupedNameValueCollectionKey column)
--- End of inner exception stack trace ---
at Unify.Product.IdentityBroker.AdapterColumnSources.get_Item(GroupedNameValueCollectionKey column)
at Unify.Product.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.<>c__DisplayClass25.<CalculatePossibleAffectedItems>b__11(IAttributeMappingInformation item)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at Unify.Product.IdentityBroker.AttributeMapper.MapAttributeValues(IEntity leftSideEntity, IEntity rightSideEntity)
at Unify.Product.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.<>c__DisplayClass27.<CalculatePossibleAffectedItems>b__19(<>f__AnonymousTypea`2 <>h__TransparentIdentifierb)
at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x)
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.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.CalculatePossibleAffectedItems(IEnumerable`1 affectedEntities, IAdapterColumnSources columnSources)
at Unify.Product.IdentityBroker.EntityDistinguishedNameRelationMapperValueAdapterFactoryBase`1.DetermineChangeTimes(IChangeDetectionTimeChangeReport report, DateTime lowerLimit, DateTime upperLimit, IAdapterColumnSources columnSources)
at Unify.Product.IdentityBroker.ChainedTransformationChangeProcessor.PublishChange(IEnumerable`1 changedEntities, DateTime changeProcessTime, ICollection`1 changeRecords)
at Unify.Product.IdentityBroker.ChainedTransformationChangeProcessor.ProcessChangeReport(IDictionaryTwoPassDifferenceReport`4 changesReport, DateTime changeProcessTime)
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.IdentityBroker.ChangeReportProcessor.CreateAndProcessReport[T](ITransformationChangeProcessor[] adapterTransformationProcessors, IEnumerable`1 sourceEnumerable, DateTime changeTime, HashSet`1 invalidEntities, Action`2 addAction, Func`3 addCheck)
at Unify.Product.IdentityBroker.ChangeReportProcessor.ProcessReport(IChangeReportProcessingRequest request)",Normal


Answer
anonymous 7 years ago

I'm not sure when the fix was included in Identity Broker, but it doesn't appear to be an issue any longer. Either update to a later version (e.g. v4.1.x) or try the patch (I'll add another comment with the details).

0
Not a bug

connector Chris21 Person Connector failed with reason The remote server returned an error: (405) Method Not Allowed

André van der Westhuizen 8 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 8 years ago 4

A new instance has been configured for HSF for all the systems. The person connector is configured as

Image 3182


When I try and do an Import All I receive the following issue:


20160909,00:40:13,UNIFY Identity Broker,Change detection engine,Error,"Change detection engine import all items failed.Change detection engine import all items for connector Chris21 Person Connector failed with reason The remote server returned an error: (405) Method Not Allowed.. Duration: 00:00:00.0150015
Error details:
System.Net.WebException: The remote server returned an error: (405) Method Not Allowed.
at System.Net.HttpWebRequest.GetResponse()
at Unify.Framework.Communicator.HttpCommunicatorBase`1.PostRequest(String requestString)
at Unify.Product.IdentityBroker.Chris21CommunicatorBase`1.List(IEnumerable`1 keyColumnNames)
at Unify.Product.IdentityBroker.Chris21ConnectorBase`1.GetAllEntities(IStoredValueCollection storedValueState)
at Unify.Product.IdentityBroker.ConnectorToReadingConnectorBridge.GetAllEntities(IStoredValueCollection storedValueState)
at Unify.Product.IdentityBroker.EventNotifierReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues)
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess()
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase()
at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
at Unify.Product.IdentityBroker.QueuedConnectorExecutionProcessorEndDecorator.Run()",Normal

Answer
anonymous 8 years ago

Hi Andre
Check your URI for that connector. You're using post21.htm which is the test site. Should be c21connect.asp.

0
Answered

How do you create gtrListFilters in IdB4.0?

Matthew Woolnough 11 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 8 years ago 6

I need to know how to implement gtrListFilters in IdB4.0.
The doco for the filters is documented here:
https://unifysolutions.jira.com/wiki/display/IDBCHRS305/Frontier+chris21+connector#Frontierchris21connector-GTRfilterformat

Below is one of the filters I need to implement. I can't see anywhere in the GUI this can be implemented.

<connectorconfiguration configuration="readingAndWritingConnector">
	<connector connector="Unify.Connectors.Chris21.GTR" id="{BB362CE2-985C-486d-9D53-8A5C4909B938}" name="Chris21 Placement Connector" key="detnumber">
		<entitySchema>
			<field name="detnumber" validator="string" readonly="True" required="True" key="True" />
			<field name="posstart" validator="date" readonly="True" required="True" key="True" />
			<field name="posend" validator="date" readonly="True" />
			<field name="posnumber" validator="string" readonly="True" />
			<field name="posstatus" validator="string" readonly="True" />
			<field name="posempocc" validator="string" readonly="True" />
		</entitySchema>
		<entitySchemaValidators>
			<validator name="string" validatorGenerator="Unify.Framework.EntityStringValidatorFactory,Unify.Framework.Entity.Schema" />
			<validator name="date" validatorGenerator="Unify.Framework.EntityDateValidatorFactory,Unify.Framework.Entity.Schema" />
		</entitySchemaValidators>
		<image>iVBO<snip> VORK5CYII=</image>
		<communicator logActive="True" type="http" gtrForm="pos" gtrName="broker1prod" gtrSecurePassword="9Wu6XRqV4pgisJmPm4WO3Q==" gtrPassword="" skipLogout="False" gtrAllowHttp="True" gtrShowTranslations="False" gtrListRequest="Default" gtrChunkSize="1000" httpUri="https://hrselfservice/Web/Scalable/c21connect.asp" encoding="UTF-8" contentType="application/x-www-form-urlencoded">
			<gtrListFilters>
				<gtrListFilter filterValue="posend:GE:{DATETODAY}:or" />
				<gtrListFilter filterValue="posend:EQ::" />
			</gtrListFilters>
		</communicator>
	</connector>
	<getAllEntities>
		<timing name="RecurringTimespan">
			<timespan value="864000000000" />
		</timing>
	</getAllEntities>
</connectorconfiguration>
0
Answered

Filter records retrieved from chris21

Jake Vosloo 9 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 7 years ago 8

The IDB chris21 connector has the ability to send a filter to chris21 when querying for users.

I attempted to write a filter as described by the chris21 BRE SDK documentation but are unable to get my query to work.


The filter has the following syntax: field:operation:value:[join]


I tested the query on the test web page for chris BRE: https://localhost/Scalable/post21.htm


The following example filter works fine:

:cbr="poslst",maxlines=1,sendfields="S",filter01="posstart:<=:=T:"


But if I modify it to filter on detnumber, it doesn’t work anymore:

:cbr="detlst",maxlines=1,sendfields="S",filter01="detnumber:=:=100001"


The error I receive is:

error01="BRE353:detnumber: No connector provided for filter.",status="fail"


Any ideas how to fix my filter on detnumber?

Answer
anonymous 7 years ago

As discovered with Jake, the "No connector provided for filter" is because a fourth operator to the filter is required, even if there is only one filter. The operator is AND or OR.


The Identity Broker for Frontier chris21 documentation will be updated to reflect this.


Thanks to Jake for working with us for an answer.

0
Answered

Fatal error 9001 in Identity Broker for Frontier chris21

As reported by customer:


We started to have an issue with the Unify Connector on Friday night.

The connection between UMC and IdM has failed with the following error;

30/10/2015 20:42:39        Warning        Adapterrequest to get entity from adapter space failed.        Adapter        "Adapter request to get attribute changes from adapter space 53e85508-7648-409c-bd3a-0737028eba29 failed with reason Warning: Fatal error 9001 occurred at Oct 30 2015  8:42PM. Note the error and time, and contact your system administrator

The rest of the error is listed below. Is this an error that you’ve seen before? Would you know how to resolve this?

We have UNIFY Identity Broker v3.0.6 service running.


Reason: System.Data.SqlClient.SqlException:Warning: Fatal error 9001 occurred at Oct 30 2015  8:42PM. Note the errorand time, and contact your system administrator.   at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean
breakConnection)   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj)   at
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand
cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler,
TdsParserStateObject stateObj)   at
System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName,
Boolean async)   at
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result,
String methodName, Boolean sendToPipe)  at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()   at
Unify.Repository.ChangesItemContext.CreateContext(SqlConnection connection)   at
Unify.Framework.LinqWhereQuery`5.GetEnumerator()   at
System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()   at System.Linq.Enumerable.<DistinctIterator>d__7a`1.MoveNext()   at
Unify.Framework.EnumerableExtensions.<ProduceAutoPages>d__9`1.MoveNext()   at
System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()   at
System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()   at
Unify.Framework.EnumerableExtensions.<ActionOnLast>d__16`1.MoveNext()   at
Unify.Framework.EnumerableExtensions.<ActionOnFirst>d__1c`1.MoveNext()   at
System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()   at Unify.Framework.ActionOnExceptionEnumerator`1.MoveNext()   at
Unify.Framework.EnumerableExtensions.<ActionOnLast>d__16`1.MoveNext()   at
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)   at
Unify.Adapters.NovellIdentityManagerIdentityBrokerDriverAdapter.Publish(Guid
adapterId)   at
Unify.Adapters.NovellIdentityManagerIdentityBrokerDriverNotificationDecorator.Publish(Guid
adapterId)   at
Unify.Adapters.NovellIdentityManagerIdentityBrokerDriver.Publish(Guid
adapterId)   at SyncInvokePublish(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.ProcessMessage4(MessageRpc&
rpc)   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean
isOperationContextSet)"

Answer
anonymous 8 years ago

SQL Server Fatal Error 9001 can occur when one of the log database files is unavailable.

Either you have run out of space on your SQL Server instance, or the log file is at its maximum and needs truncating.

I would suggest:

  • Clearing up space on the SQL Server hard drive containing the log and/or database files
  • Truncating the log file using the SQL Server Management Studio (or the appropriate T-SQL commands)
  • Restarting the Windows Server with SQL Server.

If any of those don’t work, then please let me know and we’ll arrange to have a look.

0
Fixed

User with invalid manager gets blocked permanently

Jake Vosloo 9 years ago in UNIFYBroker/Frontier ichris/chris21 updated by anonymous 8 years ago 3

It seems that the IDB Lite and IDaaS system fail to handle the following scenario:

  1. Create a new account in chris21 and make the account’s manager someone who do not and will not exist in AD.
  2. Let it sync and create the user, when it attempts to update the user’s manager, it fails with the error that the manager could not be found.
  3. Now change the account’s manager (mgrdetnumber) to someone who do exist in AD.
  4. The system will continue to resolve the previous manager and will permanently fail to update this user.

Workaround: Run a baseline operation against AD, this is a bad workaround because baselines can usually only be run over weekends.

Answer
anonymous 8 years ago

Not an issue in Identity Broker Plus.