Linking to Ivanti Process Manager using a web service

There are two methods that you can use to communicate with Ivanti Process Manager:

The former method is the preferred method, and is described in this section. Using the Event Generator behavior is less efficient, but can be used with other external tools that do not provide a web service interface. For information about the Event Generator method, see Sending information without using a web service.

The first step of setting up this integration is to create a web service listener in LPM and, as part of creating the listener, provide an XML file to define the payload. An example payload XML file (LPMWSSample.xml) is installed in the Console folder of your Service Desk or Asset Manager installation, which you can modify if required. You load this same XML file in the Web Services dialog in Console and map Service Desk or Asset Manager attributes to the payload attributes as described below.

To set up the integration between Service Desk or Asset Manager and LPM, you need an appropriate object that will initiate the service request. To provide request fulfillment as part of a process, the object needs to be related to the Top Level object for the module, and have the Web Service behavior. Whenever an instance of an object with the Web Service behavior is created, updated, or deleted, a web service call is made that can be read by LPM.

To map Service Desk or Asset Manager attributes to LPM payload parameters:
  1. Create an LPM web service listener using LPMWSSample.xml.

See the LPM documentation for information on how to do this.

  1. Open the object that you want to use the web service with in Object Designer.
  2. Create the string attributes that you need to map to the parameters in the web service.
  3. Select the object at the top of the Attributes tree, then in the Properties grid, click alongside Behaviors.
    The Behavior Selection dialog appears.
  4. Select Web Service in the Available Items list, then click .
    Web Service moves to the Selected Items list.
  5. Click OK.
    The Behavior Selection dialog closes, and a new item, Web Services, appears in the Property grid.
  6. In the Properties grid, click alongside Web Services.
    The Web Services dialog appears.
  7. Select the Creation, Update, or Deletion tab depending on whether you want to call the web service when you create, update, or delete an instance of the business object.
  8. In the Authentication Type list, select the type of authentication required by the Web Site that is hosting the web service: None, Windows, or Basic.
  9. Type the URL to the web service that you want to use in the Web Service Description Address box, then click Go.
    The URL is of the form http://<lpmserver>/ServiceManagement/WebServiceListener.asmx?wsdl.
    The Methods list updates to show the method contained in WebServiceListener.
  10. In the Methods list, click ProcessExternalMessage under WebServiceListener.
    The Parameters list updates to show the ProcessExternalMessage parameters.
  11. Map the connectorName parameter to the attribute that contains the name of the web service listener that you want to use in LPM.
    You can either populate this attribute automatically in Service Desk or Asset Manager using a default value, calculation, or an automatic action instance data value, or your users will need to enter this value on the corresponding window.
  12. Right-click the fieldContext parameter, then click Load LPM Template on the shortcut menu.
    The Open dialog appears.
  1. Browse to, then open LPMWSSample.xml from the Console folder.
    The field contexts for the LPM parameters are loaded.
  2. Map as many of the items under fieldContext that are named parameter## to attributes as you need, then click OK and save the changes to the object.
    The parameter values that you map are those that are sent to LPM, and which are then used in LPM as part of your LPM process. For more information about designing processes in LPM, see the documentation supplied with LPM.

You cannot map ModuleName, ModuleGuid, ClassName, ClassGuid, ObjectGuid, or ProcessGuid from the Parameters list – these are used internally.

You can map the top-level fieldContext parameter to an attribute. This parameter contains the xml payload that is generated from all of the field contexts that you map, and which is then sent to LPM. You might find this useful for debugging.

The ReturnParameter returns True or False, depending on whether or not the communication to LPM is successful.