Skip to content

Update EE8 to EE9 migration page with confirmed CXF to RESTEasy behaviour differences #8503

Description

@visakh005hyu

The existing EE8→EE9 migration page at https://openliberty.io/docs/latest/reference/diff/jakarta-ee-diff.html covers several behaviour differences when migrating from jaxrs-2.1 (Apache CXF) to restfulWS-3.0 (RESTEasy). Two additional confirmed differences should be added in the same format as the existing entries.


1. UriInfo.getPath() — leading slash

jaxrs-2.1 behavior
UriInfo.getPath() returns the path of the current request relative to the base URI without a leading slash. For example, for a request to /myapp/resources/test, getPath() returns resources/test. This applies in both root resources and sub-resource locators.

restfulWS-3.0 behavior
UriInfo.getPath() returns the path with a leading slash. For the same request, getPath() returns /resources/test. This applies in both root resources and sub-resource locators.


2. HttpHeaders.getRequestHeader() for an absent header

jaxrs-2.1 behavior
HttpHeaders.getRequestHeader(String name) returns null when the named header is not present in the request.

restfulWS-3.0 behavior
HttpHeaders.getRequestHeader(String name) returns an empty List (never null) when the named header is not present in the request. Code that checks if (values == null) will therefore behave differently after migration — the null check will never be true, and any logic gated on it will be skipped silently.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions