Office 365 driver gives an errror on postal address change

  • 7016705
  • 24-Jul-2015
  • 24-Jul-2015

Environment

NetIQ Identity Manager 4.0.2
NetIQ Identity Manager 4.5
NetIQ Identity Manager 4.5.1
NetIQ Identity Manager Driver - Office 365 4.1.0.0

Situation

Channing the street address of a user generates an error:

<nds dtdversion="3.5">
  <source>
    <product instance="\system\driverset1\Office 365" version="4.1.0.0" build="201506211632">Identity Manager Driver for Microsoft Office365</product>
    <contact>NetIQ, Corporation.</contact>
  </source>
  <input>
    <modify class-name="MSolUser" event-id="0">
      <association>12345678-1234-1234-1234-123456789012</association>
      <modify-attr attr-name="StreetAddress">
        <add-value>
          <value type="structured">
            <component name="string">Street Address</component>
            <component name="string" />
            <component name="string" />
            <component name="string" />
            <component name="string" />
            <component name="string" />
          </value>
        </add-value>
      </modify-attr>
    </modify>
  </input>
</nds>
DirXML: [07/21/15 07:59:58.878]: TRACE:  Remote Loader: Document sent.
DirXML: [07/21/15 07:59:59.019]: TRACE:  Remote Loader: Received.
DirXML: [07/21/15 07:59:59.019]: TRACE: 
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Advanced" version="4.5.1.0">DirXML</product>
    <contact>NetIQ Corporation</contact>
  </source>
  <output>
    <status event-id="0" level="error">Code(-9001) 0 components are needed for value. 6 found.<application>DirXML</application><module>Office 365</module><object-dn> (MyOrg\MySubOrg\MyTestuser)</object-dn><component>Publisher</component><operation-data AccountTracking-AppAccountStatus="-" AccountTracking-IdvAccountStatus="-" AccountTracking-association="12345678-1234-1234-1234-123456789012" /></status>
  </output>
</nds>

Resolution

This have been reported to engineering,  which means that there is currently no permanent solution to the problem.

A possible workaround for the problem is:

1) add the following rule to the Publisher Input Transformation Policies:

<rule name="NETIQGTS-itp-TransformPostalAddress">
    <policy>
        <rule>
            <description>Transform Postal Address</description>
            <comment xml:space="preserve">This is to transform the Street Address coming from the Office 365 (4.1.0.0) driver shim as an Structured attribute to a string attribute</comment>
            <conditions>
                <and>
                    <if-operation mode="regex" op="equal">add|modify</if-operation>
                    <if-xpath op="true">./*[@attr-name='StreetAddress']/add-value/value/@type = 'structured'</if-xpath>
                </and>
            </conditions>
            <actions>
                <do-set-local-variable name="lv_streetaddress" scope="policy">
                    <arg-node-set>
                        <token-xpath expression="./modify-attr[@attr-name='StreetAddress']/add-value/value/component[1]/text()"/>
                    </arg-node-set>
                </do-set-local-variable>
                <do-strip-op-attr name="StreetAddress"/>
                <do-set-dest-attr-value name="StreetAddress">
                    <arg-value type="string">
                        <token-text xml:space="preserve">$lv_streetaddress$</token-text>
                    </arg-value>
                </do-set-dest-attr-value>
                <do-strip-xpath expression="./modify-attr[@attr-name='StreetAddress']/remove-all-values"/>
            </actions>
        </rule>
    </policy>
</rule>

2) remove "Postal Address" = "Street Address" from the Schema Mapping
3) add "SA" = "Street Address" to the Schema Mapping for the User class
4) remove "Postal Address" from the User class in the Filter
5) add "SA" to the User class in the Filter

This will cause the drive to handle that "Street Address" (Office 356 - String) is handled as an "Postal Address" (eDirectory - Structured) by the Shim on the publisher channel.

Cause

According to engineering there have been a change in Office 365/Azur which is causing this.