WW-5749 fix(rest): write nothing from the XML handlers when there is no target (6.x) - #1960
Merged
Merged
Conversation
…no target RestActionInvocation hands the content-type handler a null target for a clean POST, PUT or DELETE under restrictToGet and for a bare HTTP-status result code. JacksonXmlHandler and JuneauXmlHandler dereferenced it, and the NullPointerException that invoke() caught became a 500 whose XML body was the serialised exception. Both now return early on a null target, as XStreamHandler already does, so the client gets the intended status with an empty body. (cherry picked from commit c89ee1b) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
lukaszlenart
marked this pull request as ready for review
September 16, 2026 17:44
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Fixes WW-5749 on the 6.x line — backport of #1959 (fix version 6.12.0).
RestActionInvocationhands the content-type handler anulltarget for a clean POST/PUT/DELETE under the defaultrestrictToGet=true, and since WW-5718 for a bare HTTP-status result code.JacksonXmlHandler.fromObjectandJuneauXmlHandler.fromObjectdereferenced it for a debug log line;invoke()caught theNullPointerException, set 500 and re-ranprocessResult()with the exception as the target, so the client received a 500 whose XML body was the serialised NPE.Both handlers now return early on a
nulltarget and write nothing — the guardXStreamHandleralready has — so the client gets the intended status with an empty body.Testing
testNullTargetWritesNothinginJacksonXmlHandlerTestandJuneauXmlHandlerTest, both red with the NPE before the guard../mvnw test -DskipAssembly -pl plugins/rest— green.🤖 Generated with Claude Code