Microsoft Identity Integration Server 2003 Developer Reference |
This method is called for each CSEntry object with a changed attribute value only if the IMAExtensibleCallExport.BeginExport(String, String, String, ConfigParameterCollection, TypeDescriptionCollection) method does not throw an exception.
Implement this method in all types of call-based connected data source extensions. Although this method will not be called from an import-only connected data source extension, an error occurs if this method is not implemented in the extension. For an import-only connected data source extension, you can implement this method by throwing an EntryPointNotImplementedException exception.
[C#]
public abstract void ExportEntry(
ModificationType modificationType,
String[] changedAttributes,
CSEntry csentry
);
[Visual Basic .NET]
Public MustOverride Sub ExportEntry( _
ByVal modificationType As ModificationType, _
ByVal changedAttributes() As String, _
ByVal csentry As CSEntry _
)
Implements IMAExtensibleCallExport.ExportEntry
Exception type | Condition |
---|---|
EntryExportException | The entry cannot be exported. When this exception is thrown by
this method, the run continues and the WMI Provider returns the
string completed-warnings.
This exception does not generate an event log entry. |
EntryPointNotImplementedException | The rules extension does not implement this method. When this
exception is thrown by this method, the run stops and the WMI
Provider returns the string
stopped-entry-point-not-implemented.
This exception does not generate an event log entry. |
ExtensibleExtensionException | An unexpected error occurs in the extension. When this
exception is thrown by this method, the run continues and the WMI
Provider returns the string completed-warnings.
This exception generates an event log entry. |
FatalEntryExportException | The entry cannot be exported and the export run should stop.
When this exception is thrown by this method, the run stops and the
WMI Provider returns the string stopped-entry-export-error.
This exception does not generate an event log entry. |
ServerDownException | The connected directory extension cannot establish a connection
to the connected directory. When this exception is thrown by this
method, the run continues and the WMI Provider returns the string
completed-export-errors.
This exception does not generate an event log entry. |
UnexpectedDataException | The method received unexpected data. When this exception is
thrown by this method, the run continues and the WMI Provider
returns the string completed-export-errors.
This exception generates an event log entry. |
All the exceptions described in this topic stop a run. If the method throws an exception that is not described in this topic, the run continues. If the run stops, the WMI Provider returns the string stopped-extension-dll-exception and generates an event log entry.
All data in MIIS uses the Unicode character set. If the connected data source that receives the exported data requires data in a different character set, use this method to convert the Unicode data to the character set that is required by your connected data source.
Use this method to write the values of the changed attributes to the connected data source. If the IMAExtensibleCallExport.BeginExport(String, String, String, ConfigParameterCollection, TypeDescriptionCollection) does not throw an exception, then this method is called for each CSEntry object in the connector space with new or changed attribute values. Look at the modificationType parameter value to determine the operation that caused the attribute value change.
Enumeration | Description |
---|---|
ModificationType.Add | The CSEntry object was added to the connector space. Write all the attribute values of the CSEntry object to the connected data source. |
ModificationType.Replace | The attribute values of the CSEntry object is in the connected data source and some of these values have changed. Get the list of attributes with values that have changed from the changedAttributes parameter. After creating this list, get the changed attribute values from the CSEntry object and write those new values the connected directory. |
ModificationType.Delete | The CSEntry object was deleted from the connector space. Delete the attribute values from the connected data source. |
To determine if the an attribute listed in the changedAttributes parameter is a multi-valued attribute, use the TypeDescriptionCollection class instead of the Attrib.DataType or the Attrib.IsMultivalued properties. Accessing these properties in this method throws an exception.
If this method does not throw an exception, the CSEntry object is marked as Awaiting Export Confirmation in the connector space. If the connected data source extension is Import and Export, export confirmation occurs when you run a synchronization profile to import the new attribute values to the connector space or when the attribute values are deleted from the connected data source. For an export-only connected data source extension, you have to confirm that the attribute values were written or deleted in the connected data source.
When exporting data, it is important to index the attributes on the target server. This will significantly increase performance when you conduct object searches on that server.
The following CSEntry methods and properties are not available in this method. If you access these properties in this method an exception will be thrown.
The IMAExtensibleCallExport.EndExport() method is always called after IMAExtensibleCallExport.ExportEntry(ModificationType, String[], CSEntry) method except when an object enters an unknown state or a resource is called through unmanaged code during an export run.
Product: Microsoft Identity Integration Server 2003
Service Pack 1
Namespace: Defined in Microsoft.MetadirectoryServices.
Assembly: Requires Microsoft.MetadirectoryServices (in
Microsoft.MetadirectoryServices.dll).
.NET Framework: Requires .NET Framework 1.1.
Attrib.DataType, Attrib.IsMultivalued, CSEntry, CSEntry.CommitNewConnector, CSEntry.Deprovision, CSEntry.ConnectionChangeTime, CSEntry.ConnectionRule, CSEntry.ConnectionState, CSEntry.MA, ModificationType, TypeDescriptionCollection