The Process Engine REST Service servlet reads configuration settings from a configuration file.
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.
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>