Error handling
You should always check the status attribute of the dmpresource after every dmpinit call, to see if it succeeded or not. This status will be DMP_OK on success, DMP_NOT_FOUND if the resource you requested did not exist, DMP_ACCESS_DENIED if you don't have access to the resource you requested; any other values indicate internal errors. When the status is not DMP_OK, you can find a human-readable error message in the lasterror attribute. For example:
declarations myservice: dmpresource end-declarations dmpinitwebservice(myservice,'processLoanApps') if myservice.status=DMP_OK then writeln('Service found OK') elif myservice.status=DMP_NOT_FOUND then writeln('Service not found') else then writeln('Failed to find service due to error:', myservice.lasterror) end-if httpStatusCode := dmphttppost(myservice,'','request.json','result.json') if httpStatusCode<>200 then writeln('Error returned by webservice: ',httpStatusCode) exit(1) end-if