Limitations invoking a REST service
Some support limitations apply to REST services that are defined by an OpenAPI specification file.
When to invoke the service by using JavaScript
Any of the following circumstances require that you invoke the service by using JavaScript.
- To use a REST service, for which the OpenAPI file (previously known as Swagger) specifies an authentication type other than basic authentication or API key authentication (as a header or a query string parameter), you must use JavaScript to invoke the service.
- To use a REST service, for which the OpenAPI specification contains objects that have no properties.
- To use a REST service that specifies file types. You must specify the content-type
multipart/form-data
. - To use MIME types other than
application/json
. Note that a parameter of type string and format binary in combination with a MIME type other thanapplication/json
is not supported. At run time, the invocation is rejected with an exception. - To use the property
enum
for data types boolean, decimal, integer, string + format=date, and string + format=date-time. - To use parameter type
formData
.
Unsupported OpenAPI specifications
The following specifications are not supported.
- Operations of the PATCH or TRACE methods cannot be invoked.
- Properties
allOf
,oneOf
,anyOf
, andnot
are not supported. - Type integer with format
int64
is not supported. If the value of the integer is greater than the supported integer number, you will encounter issues. For information about the range that is supported for the integer type, see Variable types in Process Designer. Note: If you want to invoke a REST service that returnsint64
format integers, you can use JavaScript to invoke the REST service and then parse the string result that is returned in thecontent
property of theBPMRESTResponse
object. - OpenAPI v2 input files with
$ref
properties that reference elements in other locations than#/definitions/name
(for schemas),#/parameters/name
(for parameters),#/responses/name
(for responses) are not supported. - OpenAPI v3 input files with $ref properties that reference elements in
other locations than
#/components/schemas/name
(for schemas),#/components/parameters/name
(for parameters),#/components/responses/name
(for responses),#/components/requestBodies/name
(for request bodies), or#/components/securitySchemes/name
(for security schemes) are not supported.
Ignored OpenAPI specifications
The following specifications are ignored:
- For the HTTP methods GET, HEAD, OPTIONS, and DELETE, any request body is ignored.
- Property
default
is ignored for all types. - Properties
maxLength
andminLength
for type string are ignored for parameters. - Property
multipleOf
for types integer and decimal is ignored. - Property
allowEmptyValue
is ignored. - Business object properties
maxProperties
,minProperties
, andadditionalProperties
are ignored. - Business object array properties
maxItems
andminItems
are ignored. - Formats
email
,password
andhostname
for type string are ignored.
Limitations
The following limitation applies:
- Because the maximum name length of Business Objects in IBM® Business Automation Workflow is 64 characters, any objects in an OpenAPI file that have names longer than 64 characters cannot be created one-to-one in the Process Application. During discovery of an OpenAPI file that contains such objects, their names are automatically shortened. To find the original name for such renamed objects, look at the Type name field in the Advanced Properties section of the Business Object editor.