In Interoperability productions Inbound Adapters extract and separate retrieval logic from actual payload processing, which is left to a BS.
At a high level, an adapter looks like this:
Class MyAdapter Extends Ens.InboundAdapter {
Method OnTask() As%Status
{
Set request = ..RetrieveRequest()
Set sc = ..BusinessHost.ProcessInput(request)
Set..BusinessHost.%WaitForNextCallInterval=1
Quit sc
}
}
However, in many cases, RetrieveRequest retrieves a batch payload, so our adapter looks like this instead:
Class MyAdapter Extends Ens.InboundAdapter {
Method OnTask() As%Status
{