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.
What should I set the validator to so that I can import a smallint from a SQL table?
I'm configuring a connector that connects to SQL database. There's a field in the table whose type is smallint.
When I try to import the unifylog.csv file returns this line for each row.
Type ShortValue of value 1 in field Status is invalid. Expected type SingleValue.,Normal
I got the list of valid validators below from an Event Log error when I tried setting the validator to short.
boolean, binary, timestamp, date, decimal, dn, guid, int, long, double, single, string, boolean.multi, timestamp.multi, date.multi, decimal.multi, dn.multi, guid.multi, int.multi, long.multi, double.multi, single.multi, string.multi.
I've tried setting the validator in the connector config for the status field to int, long and string and none of them have worked.
What should I set the validator to so that I can import a smallint from a SQL table?
Improve exception when object class mismatch encountered
There is no safe retrieve on the objectclass lookup for adapter saves,
(LDIFToAdapterEntitySaveAdapterBase.cs line 118), this throws an exception similar to the following:
System.Exception: Error occurred when attempting to save entity with distinguished name UID=a71bfacc-8201-4ec6-84c3-0a2ecc942d2e Error: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Unify.Product.IdentityBroker.LDIFToAdapterEntitySaveAdapterBase`1.ConvertValues(String objectClass, IEnumerable`1 convertedValues) at Unify.Product.IdentityBroker.LDIFToAdapterEntitySaveChangeAdapter.GetConvertedValuesFromSchema(String objectClass, IEnumerable`1 values) at Unify.Product.IdentityBroker.LDIFToAdapterEntitySaveChangeAdapter.<Transform>d__3.MoveNext() 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)
This isn't very descriptive of the real problem and needs to be updated; make sure every usage of that dictionary employs the TryGet call.
Remove ability to save xMA to services directory
It was decided that the xMA Generator should not allow users to save xMAs to the Service directory of Identity Broker, as this may involve writing to and cluttering an applications drive. This feature should be removed from the generator, with the FIM Instance and Download Locally options providing more than enough flexibility.
Comparison of SingleValues in IdentityBroker fails with exception "Property 'Single Value' is not defined for type 'System.Nullable`1[System.Double]'"
The following exception is thrown when a comparison is made between two DoubleValues, through an interLINQ query from management studio:
Property 'Single Value' is not defined for type 'System.Nullable`1[System.Double]'
with a complete stack trace of:
at System.Linq.Expressions.Expression.Property(Expression expression, PropertyInfo property) at Unify.Product.IdentityBroker.Repository.NativeTypeInformation`4.CreateEntityValueTypeExpressionBase(Expression tableMember) in S:\hg\Product\IdentityBroker\b\Source\Entity\Unify.IdentityBroker.Entity.Repository.Sql\NativeTypeInformations\NativeTypeInformation.cs:line 303 at Unify.Product.IdentityBroker.Repository.NativeTypeInformation`4.CreateEntityValueTypeExpression(Expression sourceExpression) in S:\hg\Product\IdentityBroker\b\Source\Entity\Unify.IdentityBroker.Entity.Repository.Sql\NativeTypeInformations\NativeTypeInformation.cs:line 76 at Unify.Product.IdentityBroker.Repository.NativeTypeInformation`4.CreateDataValueExpression(BinaryExpression originalExpression, ExpressionType nodeType, IEntityExpressionVisitor entityExpressionVisitor, Expression parameterExpression, Expression valueExpression) in S:\hg\Product\IdentityBroker\b\Source\Entity\Unify.IdentityBroker.Entity.Repository.Sql\NativeTypeInformations\NativeTypeInformation.cs:line 280 at Unify.Product.IdentityBroker.Repository.NativeTypeInformation`4.GetGetValueBinaryExpression(Expression left, Expression right, BinaryExpression binaryExpression, ExpressionType nodeType, IEntityExpressionVisitor entityExpressionVisitor) in S:\hg\Product
The comparison code is the following:
SingleValue innerValue = float.Parse(value); return queryable => from item in queryable where item.Contains(schemaKey) && item.GetValue<SingleValue>(schemaKey) < innerValue select item;
Alternatively the behaviour can be replicated by creating a SingleValue comparison search query through the new entity search UI.
Identity Broker 4 requests
Originally a comment on PRODUCT-2:
Some Features that i would like to see included in IDB 4.
I Agree with Eddie on the search/filter feature - this has caused me frustration in the past when trying to view large data sets.
Is it possible to implement some sort of paging system here so that it doesn't have to load the entire data set everytime.
A couple of other points on the entity search, fistly it would be great if it could remember the configuration of columns selected from the column chooser. It's frustrating to have to repeat this every time a search is done. Secondly is it possible to make this view refreshable - currently the search window has to be closed and reopened for this to happen.In the connection monitor view, it would be great to see status updates on import/export operations.
Ie. No Records processed/remaining, elapsed time/est remaining time etc.Another feature that would be useful in this view is the ability to disable/enable scheduled imports to specific connectors, or a master control to disable all scheduling.
The ability to configure connectors from the interface would be very useful - in particular, to be able to configure connection attributes, and perform a connection test based on those attributes.
Aurion hosted environment upgrade impact
Our hosted environment is being upgraded to 10.4 MR5, and we've been informed this includes changes to the WSDL URL and possibly the web service itself. Has Unify had any experience with this update in other Departments, and can you advise on what changes need to be made to the Identity Broker?
Currently the only specific detail I've been given is the new URL;
https://selfservice.aurion.com/waterwa/servlet/services/ev397_aurion_ws?wsdl (new)
https://aurionss.asp.aurion.com.au/waterwaprd/servlet/services/ev397_aurion_ws?wsdl (existing)
Hi John,
As this was answered in our prior support system after the migration of data to our new product support forum, I am answering the question again here for completeness.
As you discovered, just changing the URI for the Aurion Agent in Identity Broker will work in this circumstance.
Kind regards,
Shane
Identity Broker for Frontier chris21 - ability to use SSL with certificate that doesn't match endpoint address
CloudBroker requires the following:
- SSL on all communication
IDBCHRS will fail if the end-point address (a public DNS entry) is different to the certificate supplied by the IIS end-point, something that is entirely likely to happen if a customer cannot use their NAT to set up SSL and terminate at that address. For example:
IDBCHRS is set to connect to unify-demo-idbchrslite-1-chrs.cloudapp.net, however the AD certificate is issued by the domain CA which makes the certificate idbpc21-chrs.demo.unifysolutions.net.
The chris21 connector should permit the certificate to be determined by a name in the our configuration. The certificate must still be valid against the local machine certificate store.
Specified argument was out of the range of valid values. attributeValue
Runnning full import. Error below thrown.
20130301,02:06:36,UNIFY Identity Broker,Adapter,Warning,"Adapter import all entities for adapter failed. Adapter import all entities for adapter 6e91a985-feb0-4d17-9ed9-191d9cd85c86 failed with reason Specified argument was out of the range of valid values. Parameter name: attributeValue. Duration: 00:00:18.1931715 Error details: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: attributeValue at Unify.Framework.IO.DistinguishedNameComponent..ctor(DNAttributeType attributeType, String attributeValue) at Unify.Product.IdentityBroker.EntityFieldValueDistinguishedNameComponentGenerator`2.Transform(TEntity sourceValue) at Unify.Product.IdentityBroker.EntityDistinguishedNameGenerator`2.<>c__DisplayClass7.<Transform>b__6(IEntityDistinguishedNameComponentGenerator`2 factory) at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at Unify.Product.IdentityBroker.EntityDistinguishedNameGenerator`2.GetDistinguishedName(Func`2 componentRetrieval) at Unify.Product.IdentityBroker.EntityDistinguishedNameGenerator`2.Transform(TEntity sourceValue) at Unify.Product.IdentityBroker.DistinguishedNameAttributeMapper.MapAttributeValues(IEntity leftSideEntity, IEntity rightSideEntity) at Unify.Product.IdentityBroker.ComposedDNAttributeMapper.MapAttributeValues(IEntity leftSideEntity, IEntity rightSideEntity) at Unify.Product.IdentityBroker.EntityDistinguishedNameStaticRelationValueAdapterBase.TransformEntity(IEntity baseValue, ILookup`2 lookupResults) at Unify.Product.IdentityBroker.EntityDistinguishedNameStaticRelationValueAdapterBase.<>c__DisplayClass7.<Transform>b__3(IEntity item) at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at Unify.Product.IdentityBroker.EntityDistinguishedNameTimeRelationalValueAdapterBase`1.Transform(IEnumerable`1 sourceValue) at Unify.Framework.AggregateValueAdapter`1.<Transform>b__0(T current, IValueAdapter`2 valueAdapter) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable`1 source, TAccumulate seed, Func`3 func) at Unify.Framework.AggregateValueAdapter`1.Transform(T baseValue) at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at Unify.Framework.Collections.ActionOnExceptionEnumerator`1.MoveNext() at Unify.Framework.Collections.EnumerableExtensions.<ActionOnLast>d__17`1.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() at System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext() at Unify.Framework.IO.LDIFComponentFileGenerator`1.GenerateFile(TextWriter writer, IEnumerable`1 entries) at Unify.Product.IdentityBroker.LDIFAdapterBase.<>c__DisplayClass14`1.<CreateLDIFComponentStream>b__13(Stream stream) at Unify.Framework.IO.LazyEvaluationStream.Evaluate(Object obj)",Normal
Unable to view previously installed IdB Components when logged on as a different user
When I attempted in install a newer version of Identity Broker for Sharepoint at DET the first step was to uninstall the previous version. Unfortunately I could not see it. I checked with Eddie and he said he had this problem as well. Apparently the Add Remove Programs in Control panel only displays the product if you logged on as the user who installed it originally. He found this with previous installs as well when Matt Clark had originally installed it.
The version that was originally installed was
UNIFY Identity Broker for Microsoft SharePoint v3.0.1 x86.msi
The new version I attempted to install was:
UNIFY Identity Broker for Microsoft SharePoint v3.0.5.2 x86.msi
I did manage to see some of the other Identity Broker components but am not familiar enough with the component list to state whether it is ONLY an issue with the Sharepoint Connector or not. Either way it is definitely an issue with Sharepoint. I have attached a screenshot of what I see with my AD Account.
I think the following is also problematic:
UNIFY Identity Broker Service v3.0.0 x86.msi
Can this please be addressed in the next build and also a check of all the components to make sure it is not a problem elsewhere.
thanks,
Craig
IdBComponentsCG.JPG
CIT Identity Broker should NOT return update from NIM back to NIM as ADD
This issue relates to another situation wherby the expected response from a connected system is different for Novell Identity Manager (NIM) than for FIM.
Here is the process that currently occurs at CIT:
1. A new record for a person is created in eDirectory at CIT
2. The NIM driver for Identity Broker sends the new record to IdB
3. IdB acknowledges the new record to NIM and sends back the unique number to use to associate that record
4. On next poll of IdB by NIM, IdB sends the new record from item 1 as an ADD
5. NIM processes the record as an add
6. During the ADD processing NIM identifies that it already has a record for that person & changes the add to a modify
7. NIM processing contines to process data from the record as a modify, potentially sending updates to other connected systems
Here is the process that NIM would expect to see:
1. A new record for a person is created in eDirectory at CIT
2. The NIM driver for Identity Broker sends the new record to IdB
3. IdB acknowledges the new record to NIM and sends back the unique number to use to associate that record
4. On next poll of IdB by NIM, IdB does NOT send any information back to NIM, the new record will apear in IdB as a complete record but is not passed to NIM as an update.
I.e. Because NIM uses the acknowledgement from IdB as an indication that the record was recieved by the connected system it doesn't need the ADD to be sent back, when the ADD from IdB is seen by NIM it thinks that it is an actual add for that person... I realise that FIM does require the new record to be seen as an add, however NIM does not.
In summary here is what I would like to see: If an add / modify is sent by NIM to IdB that should NOT be presented back to NIM as an add / modify it shuld just update IdB and IdB should effectively consider that the add / modify has already been sent to NIM.
NIM 3075 patch.zip
ST-FullTransaction-2012-05-09.xml
Customer support service by UserEcho