If an enterprise applications' output interface is comprised of multiple language structures, it is necessary to include each of them in the response message that clients receive when the application is invoked as a Web service. To direct the Enterprise Service Tools Batch processor to incorporate multiple language structures into the XML Schema (XSD) for the response message—specify multiple, sibling, OutputMessage elements. The order in which the OutputMessage elements are specified determines the order that their equivalent XSD definitions appears in the composite response XSD.
Figure 1 demonstrates how to direct the Enterprise Service Tools Batch processor to incorporate multiple language structures when generating the XSD for the response message of a Web service.
<Operation name="GetOrderHistory">
<InputMessage ../>
<OutputMessage importFile="ORDRSECR.cpy" importDirectory="."
nativeTypeName="ORDRSECR-GET-HIST-HEAD"
xmlEleName="OrderHistoryHeader" lowerBound="1" upperBound="1">
<ItemSelectionArray>
<ItemSelection itemName="ORDRSECR-GET-HIST-HEAD.CUSTOMER-ID"/>
</ItemSelectionArray>
</OutputMessage>
<OutputMessage importFile="ORDRRECS.cpy" importDirectory="."
nativeTypeName="ORDRRECS-HIST-RECORD"
xmlEleName="OrderHistoryRecord" lowerBound="1" upperBound="255">
<ItemSelectionArray>
<ItemSelection itemName="ORDRRECS-HIST-RECORD.ORDER-DATE"/>
<ItemSelection itemName="ORDRRECS-HIST-RECORD.ORDER-ITEM-ID"/>
<ItemSelection itemName="ORDRRECS-HIST-RECORD.ORDER-ITEM-PRICE"/>
<ItemSelection itemName="ORDRRECS-HIST-RECORD.ORDER-ITEM-QTY"/>
<ItemSelection itemName="ORDRRECS-HIST-RECORD.ORDER-ITEM-DESC"/>
</ItemSelectionArray>
</OutputMessage>
<OutputMessage importFile="ORDRSECR.cpy" importDirectory="."
nativeTypeName="ORDRSECR-HIST-SUMMARY"
xmlEleName="OrderHistoryTail" lowerBound="1" upperBound="1">
<ItemSelectionArray>
<ItemSelection itemName="ORDRSECR-HIST-SUMMARY.TOTAL-ORDERS"/>
<ItemSelection itemName="ORDRSECR-HIST-SUMMARY.TOTAL-SPENT"/>
<ItemSelection itemName="ORDRSECR-HIST-SUMMARY.REPORT-DATE"/>
<ItemSelection itemName="ORDRSECR-HIST-SUMMARY.REPORT-TIME"/>
</ItemSelectionArray>
</InputMessage>
</OutputMessage>
<XseSpec>
<XsdSpecIn ../>
<XsdSpecOut xsdEleName="GetOrderHistoryResponse"
targetNamespace="http://www.ibm.com/schemas/weborders"
fileName="GetOrderHistory.xsd"/>
</XseSpec>
</Operation>