Initializing help system before first use

Calling a REST endpoint on an Xpress Executor component

This example demonstrates fetching the list of executions from an Xpress Executor component in the same solution.

model countexecutions
  uses 'dmp','mmxml'

  declarations
    xecomp: dmpresource
    httpstatus: integer
    doc: xmldoc
    nodes: list of integer
  end-declarations

  ! Initialize dmpresource
  dmpinitcomp(xecomp, 'Xpress Executor')
  if xecomp.status<>DMP_OK then
    writeln('ERROR finding Xpress Executor component: ',xecomp.lasterror)
    exit(1)
  end-if

  ! Make request
  httpstatus := dmphttpget(xecomp, '/rest/runtime/execution', 'executions.json')
  if httpstatus<>200 then
    if xecomp.status<>DMP_OK then
      writeln('ERROR authorizing Xpress Executor component: ',xecomp.lasterror)
    else
      writeln('ERROR returned by Xpress Executor component: ',httpstatus)
    end-if
    exit(1)
  end-if

  ! Use mmxml to parse response
  jsonload(doc,'executions.json')
  getnodes(doc,'/jsv/jsv',nodes)
  writeln('Executions found: ',nodes.size)

end-model

The use of Xpress Executor webservices here is for example purposes only; we recommend using the executor module to interact with Xpress Executor components.