A Bulk Operation MUST always be a Pseudo One-Way operation.
For a Bulk Operation, the second – or third if the operation is performed in a flux - parameter of a DLW request MUST be a Block element of type {MetaInfo}BlockStruct (>= V5).
The receiving application MUST NOT rely on the order in which chunks are received.
A unique {MetaInfo}MessageID must be assigned to each chunk.
Explanation
A Bulk Transfer happens when a lot of data is transferred in separate chunks, where each chunk is transferred in its own SOAP message. This SOAP message must comply with one definition, the Bulk Operation definition in a WSDL. Thus: bulk data is transferred with one and the same operation for some given bulk data.
To allow load balancing for both the sender and the receiver, the receiving application is responsible for processing chunks in the right order.
The Block element is primarily used to determine whether all data chunks are transferred. It can also be used to ask for resends in case of lost messages, if supported by the service in question.
Example
Below is an UploadCareer bulk operation that has three child elements of its “UploadCareer” DLW element: the mandatory ApplHeader, the Block element and finally the payload which is here a “Career” element.