Error while masking XML data type in Oracle
search cancel

Error while masking XML data type in Oracle

book

Article ID: 232312

calendar_today

Updated On:

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

The masking job states that it updated one row, yet nothing changes.  Have tried all the DBUPDATE options - N, Y, S, <<BLANK>>, P with a DIAGLEVEL=4 or 5 and nothing went to the logs to state "test" was changed to "<<NEW_NAME>>". 

This was all done through the FDM UI.

Our concern is that perhaps we are doing something incorrect for XML masking - Is our setup wrong?  HASHLOV -correct? Do we have the right OPTIONS set?  We think we do, but nothing is updated in the XML as anticipated.

FDM version 4.9.186 on the Client side and 4.9.222 on Support's Box

Oracle - 12C Enterprise addition.

 

Tried simpler xpaths and they did not work either.  Tried FORMATENCRYPT and used HASHLOV.

Would like to be able to enter multiple XPATHS at once rather than running several times changing the XPATH to the new NAMESPACE like the following:

/:PolicyPeriod/:PolicyContactRoles/:Entry[1]/ns8:AccountContactRole/ns9:AccountContact/ns9:Contact/ns10:entity-Person/ns10:FirstName/text()

/:PolicyPeriod/:PolicyContactRoles/:Entry[1]/ns7:AccountContactRole/ns8:AccountContact/ns8:Contact/ns9:entity-Person/ns9:FirstName/text()

Environment

Release : 4.9.1

Component : Fast Data Masker

Resolution

The SAX parser which FDM uses for XML parsing doesn't like the "remapping" of the default namespace (for example in your sample document you have xmlns="http://guidewire.com/pc/gx/eco.plugin.bms.download.gxmodel.common.downloadpolicyperiodmodel"). When we removed this particular mapping from the input XML file, the masking started to work as expected. Don't want you to modify files so a little different solution -  instead of removing the mapping, need to rename this mapping in the mapping and option files. For example do this:
 
  • use /ns:PolicyPeriod/ns:PolicyContactRoles/ns:Entry/ns8:AccountContactRole/ns9:AccountContact/ns9:Contact/ns10:entity-Person/ns10:FirstName instead of /PolicyPeriod/PolicyContactRoles/Entry/ns8:AccountContactRole/ns9:AccountContact/ns9:Contact/ns10:entity-Person/ns10:FirstName for the XPath expression in your mapping file and
  • use the following mapping in the option file: XPATHNAMESPACEMAP=ns=http://guidewire.com/pc/gx/eco.plugin.bms.download.gxmodel.common.downloadpolicyperiodmodel;ns0=... (the rest of your namespace mappings),
  • the prefix "ns" is not mandatory, it can be anything (for example DEFAULT) as long as it's the same in both files.