Composite XML transaction overview
As you see in Understanding composite XML transaction syntax, a composite request and response adhere to a predefined format, which can be considered as a grouping of TCRMService requests/responses or DWLAdminService requests/responses. Following the Request Framework (see Request and Response Framework), you need to configure a parser that knows how to parse the composite request and a constructor that knows how to construct a composite response. You also need to configure the BTM (Business Transaction Manager) to handle the composite transaction object after parsing in order for the BTM to forward the object to IBM® InfoSphere Master Data Management for execution. These configurations are already set up for you in the product, but it is worth mentioning in this section for your reference.
Parser and constructor configuration
The parser and constructor for composite transactions are registered with the InfoSphere MDM Parser and Constructor factory blueprint services.
<service id="ParserFactory" interface="com.dwl.base.requestHandler.interfaces.IRequestParserFactory">
<service-properties>
<entry key="parser">
<list>
<value>DWLAdminXMLRequestParser</value>
<value>DWLService</value>
</list>
</entry>
</service-properties>
<bean class="com.ibm.mdm.base.requestHandler.ParserFactoryServiceImpl" >
<property name="bpContainer" ref="blueprintContainer"></property>
<property name="bpBundle" ref="blueprintBundle"></property>
</bean>
</service>
<bean id="CompositeParser.DWLAdminDWLService" class="com.dwl.base.admin.xml.composite.DWLAdminXMLCompositeParserImpl" scope="prototype"/>
<bean id="CompositeParser.DWLService" class="com.dwl.tcrm.coreParty.composite.impl.XMLCompositeParserImpl" scope="prototype"/>This
Parser factory service registers the CompositeParser.DWLService and CompositeParser.DWLAdminDWLService beans
composite parsers that the Request Framework uses to parse composite
XML request for TCRMService and DWLService requests as well as DWLAdmin
type requests.<service id="ResponseConstructorFactory" interface="com.dwl.base.requestHandler.interfaces.IResponseConstructorFactory">
<service-properties>
<entry key="constructor">
<list>
<value>DWLService</value>
<value>DWLAdminDWLService</value>
</list>
</entry>
</service-properties>
<bean class="com.ibm.mdm.base.requestHandler.ResponseConstructorFactoryServiceImpl" >
<property name="bpContainer" ref="blueprintContainer"></property>
<property name="bpBundle" ref="blueprintBundle"></property>
</bean>
</service>
<bean id="CompositeConstructor.DWLService" class="com.dwl.tcrm.coreParty.composite.impl.XMLCompositeResponseConstructorImpl" scope="prototype"/>
<bean id="CompositeConstructor.DWLAdminDWLService" class="com.dwl.base.admin.xml.composite.DWLAdminXMLCompositeResponseConstructorImpl" scope="prototype"/>This
Constructor factory service registers the composite response constructors
that the Request Framework uses to construct composite XML response
for TCRMService and DWLService requests as well as DWLAdmin type requests.