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.
Improve CSV Connector edge case for empty target file.
The current message thrown when the target CSV file is empty is the following:
Save entities to connector failed. Save entities [Count:40] to connector Test CSV - C:\log\AurionGeneric.csv failed with reason Non-negative number required. Parameter name: value. Duration: 00:00:00.0040002 Error details: System.ArgumentOutOfRangeException: Non-negative number required. Parameter name: value at System.IO.FileStream.set_Position(Int64 value) at Unify.Product.IdentityBroker.CsvConnector.<>c__DisplayClass2a.<AddEntities>b__28(Stream old, Stream new) at Unify.Product.IdentityBroker.FileStreamCommunicator.Shift(UpdateFile fileUpdate) at Unify.Product.IdentityBroker.CsvConnector.AddEntities(IEnumerable`1 entities) at Unify.Product.IdentityBroker.EventNotifierAddingConnectorDecorator.AddEntities(IEnumerable`1 entities) at Unify.TestHarness.Connector.ConnectorTestHarness.<>c__DisplayClass6.<Add>b__5(IEntitySchema schema, IEnumerable`1 entities) at Unify.TestHarness.Connector.ConnectorTestHarness.Shift(Guid sourceId, Action`2 entityHandler) at Unify.TestHarness.Connector.ConnectorTestHarness.Add(Guid sourceId, Guid targetId) at Unify.TestHarness.Connector.ConnectorTestHarnessServiceController.Add(StandardPostData postData)
Instead, the schema field names should be written as the header, with an informational event logged stating that the file was updated with the correct heading.
Upgrade v3.0.8 to v4.0 Exception
The following exception is thrown upgrading from v3.0.8.
Unify.Framework.UnifyServiceInitializeException: 'FK_EntityValue_CollectionKey' is not a constraint. Could not drop constraint. See previous errors. ---> System.Data.SqlClient.SqlEx ception: 'FK_EntityValue_CollectionKey' is not a constraint. Could not drop constraint. See previous errors. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolea n breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cm dHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, Tds ParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult res ult, 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, QueryI nfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompile dSubQuery[] subQueries) at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider .Execute(Expression query) at System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] param eters) at Unify.Framework.Data.LinqContextConversionBase`4.SubmitChanges() at Unify.Product.IdentityBroker.IdentityBrokerEngine.ClearOldPartitions() at Unify.Product.IdentityBroker.IdentityBrokerEngine.Initialize() at Unify.Framework.UnifyEngine`1.Initialize() --- End of inner exception stack trace --- at Unify.Framework.UnifyEngine`1.Initialize() at Unify.Service.Connect.Debug.ProgramProxy.Execute()
This is occurring in v4.0.1, adam has tested it in v4.0.0 and this does not occur; however irrespective of the version some Foreign Key constraints are being missed, such as the listed FK_EntityValue_CollectionKey in conjunction with the FK_EntityValue_Entity constraint.
- v3.0.6 -> v4.0.x
Possibility of Adding AXL to SQL Table Attribute Name Correlation in CISCO UCM connector.
Hi guys,
I've been working with the CISCO UCM connector, one thing I've found is import failures can occur when using the sqlTrust=False communicator option. The issue is the AXL attribute names vary to the names used in the SQL tables.
Name variances are taken into consideration when configuring AXL objects and SQL tables in the connector communicator via the AXLName and SQLName options. However attribute names also vary and the connector first does an AXL executeSQLquery to get all objects, then performs a native AXL Get request to extract data, using the same attribute name for both.
Example:
<entitySchema>
<field name="name" validator="string" key="true" required="true" readonly="true" />
</entitySchema>
Inital request to AXL:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><axlapi:executeSQLQuery xmlns:axlapi="http://www.cisco.com/AXL/API/7.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><sql>SELECT name FROM device</sql></axlapi:executeSQLQuery></SOAP-ENV:Body></SOAP-ENV:Envelope>
Subsequent request to AXL (per object received from first query)
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><axl:getDeviceProfile xmlns:axl="http://www.cisco.com/AXL/API/7.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><name>MTP_2</name></axl:getDeviceProfile></SOAP-ENV:Body></SOAP-ENV:Envelope>
Error returned:
ERROR http-8443-9 axl.AxlValidator - org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'name'. One of '
{"":profileId, "":profileName}' is expected
The subsequent AXL request failes as it requires "profileName" instead of "name" as the "profileName" attribute is the AXL equivalent of the SQL "name" attribute . If profileName is used in entitySchema the first query fails as the attribute is not found in the SQL table.
Tatts Group chris21 Connector time out error for Production env
Currently Identity Broker for chris21 for Tatts Group's Production env has the following error.
20110703,23:41:17,Change detection engine import all items started.,Change detection engine,Information,Change detection engine import all items for connector 34b83581-377c-41b5-afb9-2a705076285f started. 20110703,23:41:17,Stored values request to retrieve started.,Stored values collections,Information,Stored values request to retrieve 34b83581-377c-41b5-afb9-2a705076285f started. 20110703,23:41:17,Stored values request to retrieve succeeded.,Stored values collections,Information,Stored values request to retrieve 34b83581-377c-41b5-afb9-2a705076285f succeeded. Duration: 00:00:00.1718860 20110703,23:41:17,Request to get all entities from connector.,Connector,Information,Request to get all entities from connector 34b83581-377c-41b5-afb9-2a705076285f. 20110703,23:41:17,Chris21 Person Connector,GetAllEntities,Information,Started successfully. 20110703,23:41:17,chris21 GTR HTTP Communicator,List,Information,Started successfully. 20110703,23:42:57,chris21 GTR HTTP Communicator,List,Error,"Exception occured after [00:01:40.0220260] duration. System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetRequestStream() at Unify.Framework.HttpWorker.PerformHttpRequest(String requestString) at Unify.Communicators.Chris21GtrHttpCommunicator.PerformGtrRequest(String gtrRequest) at Unify.Communicators.Chris21GtrCommunicatorBase.List(IEnumerable`1 keyColumnNames)" 20110703,23:42:57,Chris21 Person Connector,GetAllEntities,Error,"Exception occured after [00:01:40.0220260] duration. System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetRequestStream() at Unify.Framework.HttpWorker.PerformHttpRequest(String requestString) at Unify.Communicators.Chris21GtrHttpCommunicator.PerformGtrRequest(String gtrRequest) at Unify.Communicators.Chris21GtrCommunicatorBase.List(IEnumerable`1 keyColumnNames) at Unify.Connectors.Chris21GtrConnector.GetAllEntities(IStoredValueCollection storedValueState)" 20110703,23:42:57,Get all entities from connector failed.,Connector,Warning,"Get all entities from connector 34b83581-377c-41b5-afb9-2a705076285f failed with reason The operation has timed out. Duration: 00:01:40.0220260 Error details: System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetRequestStream() at Unify.Framework.HttpWorker.PerformHttpRequest(String requestString) at Unify.Communicators.Chris21GtrHttpCommunicator.PerformGtrRequest(String gtrRequest) at Unify.Communicators.Chris21GtrCommunicatorBase.List(IEnumerable`1 keyColumnNames) at Unify.Connectors.Chris21GtrConnector.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.MultiKeyedReadingConnectorAdapterBase`1.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.MultiKeyedWritingPollingAndDeletingConnectorAdapter.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.ConnectorToReadingConnectorBridge.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.EventNotifierReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.GetEntityThresholdReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.AuditReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.AuditScopeReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.ChangeDetectionImportAllJob.ImportAllChangeProcess(Guid connectorId) at Unify.Framework.ChangeDetectionImportAllJob.RunBase() at Unify.Framework.JobBase.Run() at Unify.Framework.MutexJobDecorator.Run() at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run() at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)"
The full log file is in the attached document file, TattsGroup-Prod-timeout-error-20110703.docx
Note: Tatts Group's chris21 system has now been upgraded to version 7.5.18
However, Anthony Mills said that this time out issue occurred before the chris21 system upgrade taken place. I am not certain how correct this is and whether a change/upgrade in their environments or even IIS server that may contribute/cause this issue.
TattsGroup-Prod-timeout-error-20110703.docx
Improve existing entity search functionality
From Eddie on PRODUCT-2:
"Search" entities in connector or adapter - it would be great to have an option to enter search criteria first rather than have to list all then sort.
It is probably not so bad in many sites, but DET as an example, takes an age to load 109,000 entities, which is a pain when we only want to look at one.
This issue is subject to whatever searches the current database structure can provide. For example, "Starts with" should be fine - "Contains" probably not. Date ranges may or may not be possible. Further investigation and comment required.
Provide statistics about connectors/adapters
Originally from Peter Wass on PRODUCT-2:
Currently there is no easy way to get stats on a connector or adapter. It would be good to be able to see:
Number of current objects
Number of changes in change register
Number of pending exports (to connected system or FIM)
(Note the last two may be the same...)
Date / Time of last run import / export
Number of Errors / Warnings from last import / export run
Less than symbol in text entry fields not escaped
If any standard text fields contain a less than symbol (<) followed by alphabetical characters the following is displayed when the form is submitted.
System.Web.HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (LesserValue="<value"). at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) at System.Web.HttpValueCollection.GetValues(String name) at System.Web.Mvc.NameValueCollectionValueProvider.ValueProviderResultPlaceholder.GetResultFromCollection(String key, NameValueCollection collection, CultureInfo culture) at System.Lazy`1.CreateValue() at System.Lazy`1.LazyInitValue() at System.Web.Mvc.NameValueCollectionValueProvider.ValueProviderResultPlaceholder.get_ValidatedResult() at System.Web.Mvc.NameValueCollectionValueProvider.GetValue(String key, Boolean skipValidation) at System.Web.Mvc.ValueProviderCollection.<>c__DisplayClass9.<GetValue>b__4(IValueProvider provider) at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) at System.Web.Mvc.DefaultModelBinder.GetPropertyValue(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, IModelBinder propertyBinder) at System.Web.Mvc.DefaultModelBinder.BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor) at System.Web.Mvc.DefaultModelBinder.BindProperties(ControllerContext controllerContext, ModelBindingContext bindingContext) at System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext) at System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) at System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
chris21 error - Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA
Currently seeing this error from Identity Broker for chris21:
20110629,01:05:26,Logging Engine,Logging Engine,Information,Log file started. 20110629,01:05:25,Change detection engine import all items started.,Change detection engine,Information,Change detection engine import all items for connector 34b83581-377c-41b5-afb9-2a705076285f started. 20110629,01:05:25,Stored values request to retrieve started.,Stored values collections,Information,Stored values request to retrieve 34b83581-377c-41b5-afb9-2a705076285f started. 20110629,01:05:25,Stored values request to retrieve succeeded.,Stored values collections,Information,Stored values request to retrieve 34b83581-377c-41b5-afb9-2a705076285f succeeded. Duration: 00:00:00.0087894 20110629,01:05:25,Request to get all entities from connector.,Connector,Information,Request to get all entities from connector 34b83581-377c-41b5-afb9-2a705076285f. 20110629,01:05:25,Chris21 Person Connector,GetAllEntities,Information,Started successfully. 20110629,01:05:25,chris21 GTR HTTP Communicator,List,Information,Started successfully. 20110629,01:05:26,chris21 GTR HTTP Communicator,List,Error,"Exception occured after [00:00:00.8447590] duration. System.IO.InvalidDataException: GTR returned an unrecognized error line. FTR-7051-S :Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA. Error #-2147467238 006~ASP 0177~Server.CreateObject Failed~8000401a at Unify.Framework.Chris21GtrWorker.CheckErrorLine(IChris21GtrLine line) at Unify.Framework.Chris21GtrWorker.CheckLoginResult(IChris21GtrRecord loginResultRecord) at Unify.Communicators.Chris21GtrCommunicatorBase.List(IEnumerable`1 keyColumnNames)" 20110629,01:05:26,Chris21 Person Connector,GetAllEntities,Error,"Exception occured after [00:00:00.8447590] duration. System.IO.InvalidDataException: GTR returned an unrecognized error line. FTR-7051-S :Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA. Error #-2147467238 006~ASP 0177~Server.CreateObject Failed~8000401a at Unify.Framework.Chris21GtrWorker.CheckErrorLine(IChris21GtrLine line) at Unify.Framework.Chris21GtrWorker.CheckLoginResult(IChris21GtrRecord loginResultRecord) at Unify.Communicators.Chris21GtrCommunicatorBase.List(IEnumerable`1 keyColumnNames) at Unify.Connectors.Chris21GtrConnector.GetAllEntities(IStoredValueCollection storedValueState)" 20110629,01:05:26,Get all entities from connector failed.,Connector,Warning,"Get all entities from connector 34b83581-377c-41b5-afb9-2a705076285f failed with reason GTR returned an unrecognized error line. FTR-7051-S :Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA. Error #-2147467238 006~ASP 0177~Server.CreateObject Failed~8000401a. Duration: 00:00:00.8447590 Error details: System.IO.InvalidDataException: GTR returned an unrecognized error line. FTR-7051-S :Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA. Error #-2147467238 006~ASP 0177~Server.CreateObject Failed~8000401a at Unify.Framework.Chris21GtrWorker.CheckErrorLine(IChris21GtrLine line) at Unify.Framework.Chris21GtrWorker.CheckLoginResult(IChris21GtrRecord loginResultRecord) at Unify.Communicators.Chris21GtrCommunicatorBase.List(IEnumerable`1 keyColumnNames) at Unify.Connectors.Chris21GtrConnector.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.MultiKeyedReadingConnectorAdapterBase`1.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.MultiKeyedWritingPollingAndDeletingConnectorAdapter.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.ConnectorToReadingConnectorBridge.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.EventNotifierReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.GetEntityThresholdReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.AuditReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.AuditScopeReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.ChangeDetectionImportAllJob.ImportAllChangeProcess(Guid connectorId) at Unify.Framework.ChangeDetectionImportAllJob.RunBase() at Unify.Framework.JobBase.Run() at Unify.Framework.MutexJobDecorator.Run() at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run() at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)" 20110629,01:05:26,Change detection engine import all items failed.,Change detection engine,Warning,"Change detection engine import all items for connector 34b83581-377c-41b5-afb9-2a705076285f failed with reason GTR returned an unrecognized error line. FTR-7051-S :Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA. Error #-2147467238 006~ASP 0177~Server.CreateObject Failed~8000401a. Duration: 00:00:00.8535484 Error details: System.IO.InvalidDataException: GTR returned an unrecognized error line. FTR-7051-S :Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA. Error #-2147467238 006~ASP 0177~Server.CreateObject Failed~8000401a at Unify.Framework.Chris21GtrWorker.CheckErrorLine(IChris21GtrLine line) at Unify.Framework.Chris21GtrWorker.CheckLoginResult(IChris21GtrRecord loginResultRecord) at Unify.Communicators.Chris21GtrCommunicatorBase.List(IEnumerable`1 keyColumnNames) at Unify.Connectors.Chris21GtrConnector.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.MultiKeyedReadingConnectorAdapterBase`1.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.MultiKeyedWritingPollingAndDeletingConnectorAdapter.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.ConnectorToReadingConnectorBridge.GetAllEntities(IStoredValueCollection storedValueState) at Unify.Framework.EventNotifierReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.GetEntityThresholdReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.AuditReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.AuditScopeReadingConnectorDecoratorBase`1.GetAllEntities(IStoredValueCollection storedValues) at Unify.Framework.ChangeDetectionImportAllJob.ImportAllChangeProcess(Guid connectorId) at Unify.Framework.ChangeDetectionImportAllJob.RunBase() at Unify.Framework.JobBase.Run() at Unify.Framework.MutexJobDecorator.Run() at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run() at Unify.Framework.AsynchronousJobExecutor.PerformJobCallback(Object state)" 20110629,01:05:30,Change detection engine import all items started.,Change detection engine,Information,Change detection engine import all items for connector 4c8d7ed9-77c0-4204-ae52-3b8e37f89108 started.
Resolved the "FTR-7051-S :Web Server could not access SPA FTRPooledBRA_6.BRA FTRPooledBRA_6.BRA." error for Dev/UAT environment.
The resolution was to enter the correct password for the user that is used to run the SPA Pool #6 in the Component Services.
This solution was applied to SPA Pool #2 to #5 as well as they have the same problem. Upon the resolution of this issue we encountered the issue with access denied for user the "svcChris21BrokerDev". As I have advised you that this is a user permission issue in chris21 system.
However, after your discussion with chris21 person, you decided that you no longer wish to continue the SPA Pool #6 for Identity Broker. The reason is that the SPA database instance contains masked data and it was not updated to aligned with the Production data. You have decided to the SPA #3 for the Identity Broker instead, because this contain the updated (upgrade) data and is aligned with the Production database.
Chris21 connector not importing boolean attribute 'posorgassi'
IdB 2.0 imports and some lines have a value in posorgassi.
IdB 4.0 imports and has 0 lines with a value in posorgassi.
All other fields look fine.
Have tried both String and boolean validators.
posorgassi.png
Customer support service by UserEcho