Skip to content

[CXF-7455] Tolerate missing message parts in SOAP responses#2959

Open
gnodet wants to merge 4 commits intomainfrom
cxf-7455-tolerate-missing-parts
Open

[CXF-7455] Tolerate missing message parts in SOAP responses#2959
gnodet wants to merge 4 commits intomainfrom
cxf-7455-tolerate-missing-parts

Conversation

@gnodet
Copy link
Contributor

@gnodet gnodet commented Mar 12, 2026

Summary

  • HolderInInterceptor threw IndexOutOfBoundsException when a SOAP response was missing output parts defined in the WSDL (e.g. from non-compliant servers like Windows WinRM)
  • Added bounds check before accessing MessageContentsList — when the response part is absent, the holder retains its original value instead of crashing
  • Supersedes PR [CXF-7455] Tolerate missing message part #297 (closed as stale after 8 years with no test case)

Test plan

  • Added HolderInInterceptorTest that reproduces the exact IndexOutOfBoundsException scenario
  • Verified test fails without the fix (IndexOutOfBoundsException: Index 1 out of bounds for length 1)
  • Verified test passes with the fix

🤖 Generated with Claude Code

gnodet and others added 2 commits March 12, 2026 13:38
HolderInInterceptor threw IndexOutOfBoundsException when a SOAP
response was missing output parts defined in the WSDL. This can
happen with non-compliant servers (e.g. Windows WinRM). The fix
adds a bounds check before accessing the MessageContentsList,
leaving the holder value unchanged when the response part is absent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnodet gnodet added the bug label Mar 12, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnodet gnodet marked this pull request as draft March 12, 2026 12:57
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnodet gnodet marked this pull request as ready for review March 12, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant