IBM Support

InfoSphere Master Data Management BatchProcessor throws exception

Troubleshooting


Problem

If you use MDMCommon.xsd as your reference schema when you run an Admin transaction, either directly with the API or through the BatchProcessor in InfoSphere Master Data Management (MDM) version 11 or later, and you have implemented data extensions of domain entities (such as TCRMPerson, TCRMOrganization, TCRMAddress, Product, and so forth) using the InfoSphere MDM Workbench you will receive a RequestParserException.

Symptom

In the command line window in which you started the BatchProcessor or as a response when you invoke InfoSphere MDM directly, you will see a message similar like this:


Cannot resolve the name 'TCRMPersonBObj' to a(n) 'element declaration' component.

In the log files of InfoSphere MDM you can find the following messages:

[8/5/14 9:21:34:181 CDT] 0000011f DWLExceptionU E   org.xml.sax.SAXException: src-resolve: Cannot resolve the name 'TCRMPersonBObj' to a(n) 'element declaration' component.
at com.dwl.tcrm.coreParty.xmlHandler.myErrorHandler.error(myErrorHandler.java:76)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(Unknown Source)
at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseLocal(Unknown Source)

[8/5/14 9:21:34:239 CDT] 0000011f DWLExceptionU E   com.dwl.base.requestHandler.exception.RequestParserException: src-resolve: Cannot resolve the name 'TCRMPersonBObj' to a(n) 'element declaration' component.
at com.dwl.tcrm.coreParty.xmlHandler.XMLRequestParser.parseRequest(XMLRequestParser.java:140)
at com.dwl.base.requestHandler.DWLRequestHandler.parseRequestRecursive(DWLRequestHandler.java:1115)
at com.dwl.base.requestHandler.DWLRequestHandler.parseRequestRecursive(DWLRequestHandler.java:1134)
at com.dwl.base.requestHandler.DWLRequestHandler.parseRequest(DWLRequestHandler.java:1056)

Cause

If you create an extension to a Domain entity, such as TCRMPersonBobj, the mechanism to dynamically assemble all the XSD-Fragments into one consolidated XSD will do so for all fragments regardless whether you are invoking an Admin transaction or a TCRM transaction.  So if you specify 'MDMCommon.xsd' as your reference schema for an Admin transaction, and you have XSD-Fragments that extend MDM Domain entities, you will get the error.

Resolving The Problem

The solution of the problem is that you are using for all transaction the 'MDMDomains.xsd' schema. In case of BatchProcessor, a 'addTask' and a 'getTask' transaction will be triggered, in case you have an extension for a Domain entity you need to update the following files:

<MDM_HOME>/BatchProcessor/templates/jobs/PureBatch.xml

<MDM_HOME>/BatchProcessor/templates/internal/CheckMTZ.xml

Replace in both files 'MDMCommon.xsd' with 'MDMDomains.xsd'.

[{"Product":{"code":"SSPVUA","label":"IBM InfoSphere Master Data Management Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"11.0;11.3","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21681821