0
Answered

Error when provisioning to Broker - MV attributes

Peter Wass 9 years ago updated by anonymous 6 years ago 4

I am currently provisioning to a placeholder connector and am receiving the error below. None of the multivalue attributes have data in them as part of the initial provisioning. Any ideas?

Error:
System.ServiceModel.FaultException`1System.ServiceModel.ExceptionDetail: Index was outside the bounds of the array. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Unify.Repository.EntityExpressionQueryVisitor`3.CreateMultiValueRangeExpression(IMultiKey`1 multiKey, IEnumerable`1 sourceValueList, IQueryable`1 sourceQueryable)
at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodWhereWithMultiValueEnumerableContains(MethodCallExpression expression)
at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.LinqWhereQuery`5.EvaluateQuery(TContext context)
at Unify.Framework.LinqWhereQuery`5...).

The connector config is:

<connector connector="Unify.Connectors.Placeholder"  id="{5034C1B2-1121-49bc-BF05-D72F6B738833}" name="Cisco Placeholder Connector">
          <entitySchema>
			<!-- user fields -->
            <field name="userid" validator="string" />
            <field name="firstname" validator="string"  />
            <field name="middlename" validator="string" />
            <field name="lastname" validator="string" />
            <field name="manager" validator="string" />
            <field name="department" validator="string" />
            <field name="telephoneNumber" validator="string" />
            <field name="status" validator="int" />
	    <field name="associatedDevices" validator="string.multi" />
	    <!-- device fields -->
            <field name="device-profileId" validator="guid"/>
            <field name="device-name" validator="string" />
            <field name="device-product" validator="string" />
            <field name="device-model" validator="string" />
            <field name="device-class" validator="string" />
            <field name="device-protocol" validator="string" />
            <field name="device-securityProfileName" validator="string" />
            <field name="device-description" validator="string" />
            <field name="device-lines" validator="guid.multi" />
            <!-- line fields -->
            <field name="line-uuid" validator="guid" />
            <field name="line-pattern" validator="string" />
            <field name="line-description" validator="string" />
            <field name="line-usage" validator="string" />
            <field name="line-aarVoiceMailEnabled" validator="boolean" />
            <field name="line-voiceMailProfileId" validator="guid" />
	    <!-- voicemail fields -->			
	    <field name="voicemail-uuid" validator="guid" />
            <field name="voicemail-name" validator="string" length="50" />
            <field name="voicemail-description" validator="string" length="50" />
            <field name="voicemail-isDefault" validator="boolean" />
            <field name="voicemail-voiceMailboxMask" validator="string" />
          </entitySchema>
Affected Versions:
Fixed by Version:

Hi Peter,

Please take a look at PRDGRP:Support.

I have found another couple of issues with a similar message: IDB-35, BCE-141.

Looks like you have to set a key.

This has been resolved.

  • key="true" should have been key="True"
  • No value was being supplied to the key field
  • The value being supplied was incorrect, resulting in a MA property error.

I had this exact same problem and by adding the missing

 key="True"

my export succeeded. Interestingly when it was failing FIM still thought it was waiting for confirmation of the export - rather than showing each CS entry as an export-error, it showed no errors at all, but in the Application Event log I got the same error as above:

Log Name:      Application
Source:        FIMSynchronizationService
Date:          8/03/2013 3:40:59 PM
Event ID:      6801
Task Category: Server
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      DVAC01MFIM01.testinternal.govt
Description:
The extensible extension returned an unsupported error.
 The stack trace is:
 
 "System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Index was outside the bounds of the array. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at Unify.Repository.EntityExpressionQueryVisitor`3.CreateMultiValueRangeExpression(IMultiKey`1 multiKey, IEnumerable`1 sourceValueList, IQueryable`1 sourceQueryable)
   at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodWhereWithMultiValueEnumerableContains(MethodCallExpression expression)
   at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodCall(MethodCallExpression m)
   at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
   at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
   at Unify.Framework.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
   at Unify.Framework.LinqWhereQuery`5.EvaluateQuery(TContext context)
   at Unify.Framework.LinqWhereQuery`5...).Forefront Identity Manager 4.1.2548.0"
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="FIMSynchronizationService" />
    <EventID Qualifiers="49152">6801</EventID>
    <Level>2</Level>
    <Task>3</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2013-03-08T04:40:59.000000000Z" />
    <EventRecordID>9264</EventRecordID>
    <Channel>Application</Channel>
    <Computer>DVAC01MFIM01.testinternal.govt</Computer>
    <Security />
  </System>
  <EventData>
    <Data>System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Index was outside the bounds of the array. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at Unify.Repository.EntityExpressionQueryVisitor`3.CreateMultiValueRangeExpression(IMultiKey`1 multiKey, IEnumerable`1 sourceValueList, IQueryable`1 sourceQueryable)
   at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodWhereWithMultiValueEnumerableContains(MethodCallExpression expression)
   at Unify.Repository.EntityExpressionQueryVisitor`3.VisitMethodCall(MethodCallExpression m)
   at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
   at Unify.Framework.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
   at Unify.Framework.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
   at Unify.Framework.LinqWhereQuery`5.EvaluateQuery(TContext context)
   at Unify.Framework.LinqWhereQuery`5...).Forefront Identity Manager 4.1.2548.0</Data>
  </EventData>
</Event>