IBM FileNet P8, Version 5.2.1            

Configuring Process Engine REST Service

The Process Engine REST Service servlet reads configuration settings from a configuration file.

This configuration file performs the following functions:
  • Assigns the Content Platform Engine URI
  • Assigns the connection point that is needed for the REST Service servlet to establish a session with the workflow system.
  • Defines the handler classes for the REST resources
The default connection point for the REST Service in the configuration file is "RESTCP". To use the REST Service, do one of the following actions:
  • Ensure that this connection point is created for the Content Platform Engine.
  • Change the connection point setting in the configuration file to an existing connection point.
You can also use the cp=connectionPointName option when you specify a REST resource URI. See Process Engine REST Service Reference for instructions.

For more information about connections points, see Defining the workflow system.

You can change this configuration file (in the deployed directory), but the REST Service servlet reads the configuration only upon initialization. Modifying the file requires that the Web application that contains the REST Service servlet needs to be restarted.

REST Service Configuration File

The REST Service configuration file is installed in the following location:

    <Content Platform Engine EAR file>\peengine.war\WEB-INF\P8BPMRESTConfig.xml

Configuration File Schema

The XML schema for the configuration file is as follows:

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.ibm.com/p8/bpm/v1/rest/config/schema" targetNamespace="http://www.ibm.com/p8/bpm/v1/rest/config/schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="P8BPMREST">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="version.path">
                    <xs:complexType>
                        <xs:attribute name="value" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="filenet.pe.bootstrap.ceuri">
                    <xs:complexType>
                        <xs:attribute name="value" type="xs:string" use="optional"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="connection.point">
                    <xs:complexType>
                        <xs:attribute name="value" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="resource.handler" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:attribute name="path" type="xs:string" use="required"/>
                        <xs:attribute name="className" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="standalone" type="xs:boolean" default="false" use="optional"/>
        </xs:complexType>
    </xs:element>
</xs:schema>

Example Configuration File

The following output is an example of a working configuration file:

<perest:P8BPMREST xmlns:perest="http://www.ibm.com/p8/bpm/v1/rest/config/schema" perest:standalone="false">
    <perest:version.path value="/p8/bpm/v1"/>
    <perest:filenet.pe.bootstrap.ceuri value="/FileNet/Engine"/>
    <perest:connection.point value="RESTCP"/>
    <perest:resource.handler path="workclasses" className="filenet.pe.rest.handlers.WorkClasses"/> 
    <perest:resource.handler path="workclasses/{workclassName}" className="filenet.pe.rest.handlers.AWorkClass"/> 
    <perest:resource.handler path="workclasses/{workclassName}/structure" className="filenet.pe.rest.handlers.WorkClassStructure"/>
    <perest:resource.handler path="rosters/{rosterName}/wc/{workclassName}/wob/{wobID}" className="filenet.pe.rest.handlers.WorkClassLauncher"/> 
    <perest:resource.handler path="appspacenames" className="filenet.pe.rest.handlers.AppSpaces"/>
    <perest:resource.handler path="appspacenames/{appspace}/rolenames" className="filenet.pe.rest.handlers.RoleNames"/>
    <perest:resource.handler path="appspaces/{appspace}/myroles" className="filenet.pe.rest.handlers.Roles"/>
    <perest:resource.handler path="appspaces/{appspace}/roles/{roleName}" className="filenet.pe.rest.handlers.Role"/>
    <perest:resource.handler path="appspaces/{appspace}/roles/{roleName}/attributes" className="filenet.pe.rest.handlers.RoleAttributes"/>
    <perest:resource.handler path="writableappspaces" className="filenet.pe.rest.handlers.WritableAppSpaces"/>
    <perest:resource.handler path="writableappspaces/{appspace}" className="filenet.pe.rest.handlers.WritableAppSpace"/>
    <perest:resource.handler path="writableappspaces/{appspace}/roles" className="filenet.pe.rest.handlers.WritableRoles"/>
    <perest:resource.handler path="writableappspaces/{appspace}/roles/{roleName}" className="filenet.pe.rest.handlers.WritableRole"/>
    <perest:resource.handler path="writableappspaces/{appspace}/roles/{roleName}/attributes" className="filenet.pe.rest.handlers.RoleAttributes"/>
    <perest:resource.handler path="writableappspaces/{appspace}/roles/{roleName}/members" className="filenet.pe.rest.handlers.Members"/>      
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}" className="filenet.pe.rest.handlers.WorkBasket"/>
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/filters" className="filenet.pe.rest.handlers.WorkBasketFilters"/>
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/filters/{filterName}/attributes" className="filenet.pe.rest.handlers.WorkBasketFilterAttributes"/>
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/columns" className="filenet.pe.rest.handlers.WorkBasketColumns"/>
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/columns/{columnName}/attributes" className="filenet.pe.rest.handlers.WorkBasketColumnAttributes"/>
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/attributes" className="filenet.pe.rest.handlers.WorkBasketAttributes"/>
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/queueelements" className="filenet.pe.rest.handlers.QueueElements"/>
    <perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/queueelements/count" className="filenet.pe.rest.handlers.QueueElementsCount"/>
    <perest:resource.handler path="queues/{queueName}/stepelements/{wobID}" className="filenet.pe.rest.handlers.StepElement"/>
    <perest:resource.handler path="currentuser" className="filenet.pe.rest.handlers.CurrentUser"/>
    <perest:resource.handler path="securitydomains" className="filenet.pe.rest.handlers.SecurityDomains"/>
    <perest:resource.handler path="queues/{queueName}/stepelements/{wobID}/milestones" className="filenet.pe.rest.handlers.Milestones"/>
    <perest:resource.handler path="users" className="filenet.pe.rest.handlers.Users2"/>
    <perest:resource.handler path="groups" className="filenet.pe.rest.handlers.Groups2"/>
</perest:P8BPMREST>


Last updated: October 2015
rest_configure.htm

© Copyright IBM Corporation 2015.