Breaking Changes

A breaking change may require manual adjustments by the administrator. Please read the description.

9.0.2

Workbench - Server Configuration

For BPC portal integration, the BPC API key must now be entered manually in INUBIT (e.g., via copy/paste).

Breaking Change

Previously, the BPC API key could be automatically created, retrieved, and saved via the INUBIT portal server configuration. This is no longer possible with BPC 5.0. The API key must now be manually created in BPC and transferred to INUBIT.

Impacts:

Process Engine - REST API

The INUBIT REST API has been revised and consolidated. This necessitates some adjustments.

The endpoint "/ibis/servlet/IBISSoapServlet" has been removed.

In INUBIT, only the hostname and port of the INUBIT instance to be accessed now need to be specified in all relevant places (e.g., login, deployment).

  1. The endpoint "/process/processes" can now only be accessed without the trailing "/". Previously, accessing "/process/processes/" was also supported.

  2. Error responses are now returned in the format of the Accept header. By default, this is "application/json".

Impacts:

Connector - REST

Due to the change in the underlying technical REST framework, the "Allow fallback to insecure trust manager" option is no longer selectable independently. This option is now only selectable if the "Allow fallback to insecure hostname verification" option is enabled.

Breaking Change

The following module configurations can no longer be applied as before:

  • Enabled: "Allow fallback to insecure trust manager"

  • Disabled: "Allow fallback to insecure hostname verification"

Incorrectly configured modules may fail during execution and must then be manually adjusted.

Temporary Workaround

Both fallback options can be enabled using the -Dfeature.enable.restconnector.insecure.fallback=true switch in the Process Engine startup script. This also enables the option for insecure hostnames. Use this switch only in exceptional cases.

We recommend using secure connections that do not require any kind of fallback.

Impacts:

Portal - General

BPC 5.0 no longer supports INUBIT as an identity provider. This feature has therefore been removed from INUBIT.

Breaking Change

It is no longer possible to configure a BPC identity provider in the INUBIT portal configuration. This must now be done directly in BPC.

Impacts:

  • Portal - General

Converter - XSLT

With the switch to JDK 21, direct Java calls from XSLT scripts may no longer work and must be adjusted.

Breaking Change

This change in behavior is due to the transition from JDK 17 to JDK 21 and the associated changes or removal of Java classes.

Saxon itself forwards Java calls directly to the JDK and does not ensure compatibility. This is the responsibility of the caller from the XSLT script.

Example:

With JDK 21, the Thread class was extended and a new method, sleep(Duration), was added.

Previously (JDK 17):

Calls to java:java.lang.Thread.sleep(1000) were successfully executed by the JDK.

The Thread class contains only one method, sleep, which expects a value of type long as a parameter.

New (JDK 21): Calls to java:java.lang.Thread.sleep(1000) fail.

The Thread class now contains two sleep methods, and the JDK doesn’t know which one to call.

Solution: The call to the Sleep method must now be typed: java:java.lang.Thread.sleep(xs:long(1000))

Impacts:

Application - Process Engine

Using an external identity provider also affects the configuration of the process user server in INUBIT.

Important Changes

If Keycloak is used as the identity provider for the INUBIT process engine, the process user server must also be configured to use the same Keycloak to ensure successful authentication.

Impacts:

  • Application - Process Engine

9.0.1

Connector - BSI AS4

For BSI AS4 Inbound process signal message is signed using Signing key.

Impacts:

Workbench - Server Configuration

The button for updating the INUBIT BPC modules has been removed. Please ensure that the corresponding modules are present in the BPC’s deploy directory. If the BPC is deployed via the installer, the modules should be present.

Impacts:

Utility - Data Stream Analyser

The Data Stream Analyzer could be forced to use MimeUtil to determine the MIME type using the special module property "datastreamanalyzer.mode." This option has now been removed. Apache Tika is now always used for analysis.

Breaking Change

If the module property "datastreamanalyzer.mode" is explicitly set in the Data Stream Analyzer, it no longer has any effect. Apache Tika is always executed internally to analyze the data stream. This may lead to a change in the detected MIME type.

Impacts:

9.0.0

Application - Remote Connector, Connection Manager

The Remote Connector has been updated with INUBIT 9.0.

Breaking Change

The Remote Connector in INUBIT 9.0 can no longer be used in INUBIT 8.1 and earlier. Adding it in the Connection Manager is no longer possible, significantly limiting maintenance and monitoring.

Impacts:

Connector - REST

The HTTP status description available in the restConnector.responseStatusDescription variable has changed. If you need the value of this variable, adjust your logic to the new values.

The following table illustrates the new values:

HTTP status code HTTP status description before 9.0 HTTP status description from 9.0 onwards

100

The client should continue with its request

Continue

101

The server is willing to change the application protocol being used on this connection

Switching Protocols

102

Interim response used to inform the client that the server has accepted the complete request, but has not yet completed it

Processing

200

The request has succeeded

OK

201

The request has been fulfilled and resulted in a new resource being created

Created

202

The request has been accepted for processing, but the processing has not been completed

Accepted

203

The returned meta-information is not the definitive set as available from the origin server

Non-Authoritative Information

204

The server has fulfilled the request but does not need to return an entity-body, and might want to return updated meta-information

No Content

205

The server has fulfilled the request and the user agent should reset the document view which caused the request to be sent

Reset Content

206

The server has fulfilled the partial get request for the resource

Partial Content

207

Provides status for multiple independent operations

Multi-Status

300

The requested resource corresponds to any one of a set of representations

Multiple Choices

301

The requested resource has been assigned a new permanent URI

Moved Permanently

302

The requested resource can be found under a different URI

Found

303

The response to the request can be found under a different URI

See Other

304

The client has performed a conditional GET request and the document has not been modified

Not Modified

305

The requested resource must be accessed through the proxy given by the location field

Use Proxy

307

The requested resource resides temporarily under a different URI

Temporary Redirect

400

The request could not be understood by the server due to malformed syntax

Bad Request

401

The request requires user authentication

Unauthorized

402

This code is reserved for future use

Payment Required

403

The server understood the request, but is refusing to fulfill it

Forbidden

404

The server has not found anything matching the request URI

Not Found

405

The method specified in the request is not allowed for the resource identified by the request URI

Method Not Allowed

406

The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request

Not Acceptable

407

This code is similar to Unauthorized, but indicates that the client must first authenticate itself with the proxy

Proxy Authentication Required

408

The client did not produce a request within the time that the server was prepared to wait

Request Timeout

409

The request could not be completed due to a conflict with the current state of the resource

Conflict

410

The requested resource is no longer available at the server and no forwarding address is known

Gone

411

The server refuses to accept the request without a defined content length

Length Required

412

The precondition given in one or more of the request header fields evaluated to false when it was tested on the server

Precondition Failed

413

The server is refusing to process a request because the request entity is larger than the server is willing or able to process

Payload Too Large

414

The server is refusing to service the request because the request URI is longer than the server is willing to interpret

URI Too Long

415

The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method

Unsupported Media Type

416

For byte ranges, this means that the first byte position were greater than the current length of the selected resource

Requested range not satisfiable

417

The expectation given in the request header could not be met by this server

Expectation Failed

422

The server understands the content type of the request entity and the syntax of the request entity is correct but was unable to process the contained instructions

Unprocessable Entity

423

The source or destination resource of a method is locked

Locked

424

The method could not be performed on the resource because the requested action depended on another action and that action failed

Failed Dependency

429

The server is refusing to service the request because the user has sent too many requests in a given amount of time (\"rate limiting\")

Too Many Requests

500

The server encountered an unexpected condition which prevented it from fulfilling the request

Internal Server Error

501

The server does not support the functionality required to fulfill the request

Not Implemented

502

The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request

Bad Gateway

503

The server is currently unable to handle the request due to a temporary overloading or maintenance of the server

Service Unavailable

504

The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed to access in attempting to complete the request

Gateway Timeout

505

The server does not support, or refuses to support, the protocol version that was used in the request message

HTTP Version not supported

507

The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request

Insufficient Storage

Impacts:

Connector - REST

There is a change in the HTTP status description available in the variable "restConnector.responseStatusDescription". Below are the status codes and descriptions. 100 Continue 101 Switching Protocols 102 Processing 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 207 Multi-Status 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 307 Temporary Redirect 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Requested range not satisfiable 417 Expectation Failed 422 Unprocessable Entity 423 Locked 424 Failed Dependency 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version not supported 507 Insufficient Storage

Impacts:

Connector - REST

Starting with INUBIT 9.0, REST connectors containing multiple path parameters with the same name will no longer execute.

The following actions will result in errors in the corresponding connectors:

  • Registering listener connectors at server startup

  • Enabling

  • Publishing

  • Importing

  • Deploying

  • Breaking Change*

Path parameter names must not be used multiple times. Correct any duplicates accordingly.

Impacts:

Connector - REST

Starting with INUBIT 9.0, REST connectors whose path parameter contains a "." (period) will no longer be executed. The following actions will cause errors in the corresponding connectors:

  • Registering listener connectors at server startup

  • Activating

  • Publishing

  • Importing

  • Deployment

Breaking Change

Path parameter names may no longer contain periods. Correct any incorrect names accordingly.

Impacts:

Connector - REST

The feature available up to and including INUBIT 8.1, which allowed sending a request with the query parameter method=<HTTP method> and thus overriding the HTTP method at the endpoint, has been deprecated and is no longer available.

Breaking Change

Endpoints must now be called using the HTTP method with which they are exposed in the API. Overriding the HTTP method is no longer possible.

Impacts: