Problem Note 43673: The error "Expected white space before attribute" occurs when you run the %MUDIMPLB or %MDUCHGLB macros
The following are XML parsing errors that might occur when you run the %MUDIMPLB or %MDUCHGLB macros:
ERROR: Expected white space before the attribute.
ERROR: Unexpected or unmatched end of element tag.
These errors indicate that the XML file that is generated and then used to send the updateMetadata request to the SAS Metadata Server is malformed. The most common causes of the issue are as follows:
- an object's attribute value contains a double quotation mark (")
- an object's attribute value contains an unsupported character
- an object's attribute value is too long for the field that is used in generating the XML file
- the KEYID value in the authdomain, email, grpmems, location, logins or phone tables does not match a KEYID value in the idgrps or person table (these tables are the canonical tables in which identity information is stored during batch processing)
To troubleshoot the problem, you can generate the XML-formatted method call as an external file and then evaluate the file in an XML editor. After you determine which attribute(s) is causing the error, do one of the following:
- Code around the problem before the call to %MDUIMPLB, such as changing one character to another or removing the characters
- Edit the %MDUIMPLB macro to escape the offending character (if, indeed, you determine that the problem is result of a double quotation character)
- Edit the source of the data, such as the object value in LDAP
- Correct the source of the incorrect KEYID value
To generate the XML formatted file, set the two macro variables, _MDUIMPLB_OUTREQUEST_ and _MDUIMPLB _OUTRESPONSE_, to a directory for which the logon credentials of the SAS process has Write permission.
Example:
%let _mduimplb_outrequest_=c:\temp;
%let _mduimplb_outresponse_ = c:\temp;
You can place these %LET statements immediately before your call to %MDUIMPLB in the code.
After you run the import program again, you will have the following files in the temp directory: IDNT_REQ1.xml, IDNT_REQ2.xml,... IDNT_REQn.
Open these files in a browser or XML editor to determine the source of the problem. The editor often points to the location of the parsing problem. Tracing back from the cause of the syntax usually points to an anomaly in the identity data. XML markup characters are generally not recommended for use in identity attribute values.
Note: The same behavior can occur when using the %MDUCHGLB macro. If you encounter the error using %MDUCHGLB, follow the same troubleshooting steps as above. However, you should set the macro variables _mduchglb_outrequest_ and _mduchglb _outresponse_ rather than _mduimplb_outrequest_ and _mduimplb _outresponse_.
Operating System and Release Information
| SAS System | Base SAS | z/OS | 9.2 TS1M0 | |
| Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.2 TS1M0 | |
| Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.2 TS1M0 | |
| Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.2 TS1M0 | |
| Microsoft Windows XP 64-bit Edition | 9.2 TS1M0 | |
| Microsoft® Windows® for x64 | 9.2 TS1M0 | |
| Microsoft Windows Server 2003 Datacenter Edition | 9.2 TS1M0 | |
| Microsoft Windows Server 2003 Enterprise Edition | 9.2 TS1M0 | |
| Microsoft Windows Server 2003 Standard Edition | 9.2 TS1M0 | |
| Microsoft Windows XP Professional | 9.2 TS1M0 | |
| Windows Vista | 9.2 TS1M0 | |
| Windows Vista for x64 | 9.2 TS1M0 | |
| 64-bit Enabled AIX | 9.2 TS1M0 | |
| 64-bit Enabled HP-UX | 9.2 TS1M0 | |
| 64-bit Enabled Solaris | 9.2 TS1M0 | |
| HP-UX IPF | 9.2 TS1M0 | |
| Linux | 9.2 TS1M0 | |
| Linux for x64 | 9.2 TS1M0 | |
| OpenVMS on HP Integrity | 9.2 TS1M0 | |
| Solaris for x64 | 9.2 TS1M0 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | medium |
| Date Modified: | 2022-04-18 11:08:37 |
| Date Created: | 2011-07-06 16:34:20 |