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.