The “primary response” from a business process is the response it returns to the request that originally invoked the specific business process instance. Normally, the business process will return its primary response automatically, as soon as it is done executing. However, the <reply> element can be used to return the primary response sooner. This can be useful if the response needed by the original caller is ready to be returned, but there is additional work for the business process to perform as a result of the original call.
The <reply> element returns the response object from the business process execution context, so a business process must use the <assign> element to assign values to properties on the response object, prior to making a <reply>.
There is more information about the business process execution context in the documentation for <assign>.