Branch: refs/heads/master
Home:
https://github.com/idempiere/idempiere
Commit: 86edca3bf1a5b3538b4134004e36a473697015c5
https://github.com/idempiere/idempiere/commit/86edca3bf1a5b3538b4134004e36a473697015c5
Author: mbozem <
mbo...@bozem.de>
Date: 2026-09-04 (Fri, 04 Sep 2026)
Changed paths:
M org.adempiere.ui.zk/WEB-INF/src/org/idempiere/ui/zk/websocket/ServerPushEndPoint.java
M org.idempiere.test/META-INF/MANIFEST.MF
A org.idempiere.test/src/org/idempiere/test/ui/ServerPushEndPointTest.java
Log Message:
-----------
IDEMPIERE-7095 Avoid 414 URI too large in web socket server push (#3352)
* IDEMPIERE-7095 Avoid 414 URI too large in web socket server push
ServerPushEndPoint.onMessage() rebuilt the internal /zkau request by putting
the AU content into the query string of the request line:
HttpPost httpPost = new HttpPost(baseUrl + uri + ? + content);
For large AU payloads (e.g. previewing a large CSV/XLS report in the Keikai
spreadsheet in the report viewer) this request line exceeds Jetty's 8192 byte
limit and the request fails with HTTP 414 'URI is too large >8192'.
The AU content is url-encoded form data (zAu.encode) that normally travels in
the POST body. Send it as the body instead of the query string so the request
line stays short and the payload is no longer limited by the request line size.
* IDEMPIERE-7095 Reject WebSocket AU messages without content
ServerPushEndPoint.onMessage() now parses the AU content from the WebSocket
message. When the content is missing, previously the request was attempted and
the new StringEntity(content, ...) threw a NullPointerException. Reject such
messages with an error response to the client instead, consistent with the
existing invalid-desktop-id / invalid-session handling.
Adds ServerPushEndPointTest covering the missing-content case.
* IDEMPIERE-7095 Assert exact error response in ServerPushEndPointTest
Assert the full missing-content error payload instead of a contains() match
(CodeRabbit: assert_specificity).
To unsubscribe from these emails, change your notification settings at
https://github.com/idempiere/idempiere/settings/notifications