Initializing help system before first use

Making a request to a DMP component


Description: Demonstrates making an HTTP GET request to a DMP component.
File(s): componentrequest.mos


componentrequest.mos
(!*******************************************************
  * Mosel DMP Integration Examples                      *
  * ==============================                      *
  *                                                     *
  * file componentrequest.mos                           *
  * `````````````````````````                           *
  * Example of counting executions currently in the     *
  * repository of an Xpress Executor component in the   *
  * same solution.                                      *
  *                                                     *
  * Note: this must be run within a cloud component     *
  * (Xpress Insight or Xpress Executor), from a         *
  * solution that contains at least one Xpress Executor *
  * component.                                          *
  *                                                     *
  * This is an example of using the 'dmp' module, but   *
  * in real solutions you should use the 'executor'     *
  * module to sent requests to an Xpress Executor       *
  * component.                                          *
  *                                                     *
  * (c) 2018 Fair Isaac Corporation                     *
  *     author: James Farmer, 2018                      *
  *******************************************************!)
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

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.