Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.7.9, 2.7.10, 2.7.11
-
None
-
Unknown
Description
Hello,
it appears that since https://github.com/apache/cxf/commit/eb70d1008b8ffd32c90c990122b08d10ffcda933 extra characters and comments after </soapenv:Body> get "leaked" into CXF view of SOAP body. This is not a big problem unless SOAP body is signed with WSS Security. Obviously, then any characters (in particular new lines or whitespaces) after </soapenv:Body> will cause signature validation to fail due to checksum mismatch.
This is due to switch from StaxUtils.readDocElements() to StaxUtils.copy(). Now I'm not sure if StaxUtils.copy() is either buggy or misused there. If called with fragment=false, it would probably extract body as expected but then again I'm not sure what's the point of fragment flag. So, I attach the patch which fixes the "leak" problem in StaxUtils.copy() when fragment=true.
Attachments
Attachments
Issue Links
- relates to
-
CXF-5679 WS-S after upgrade fails with org.apache.ws.security.WSSecurityException: The signature or decryption was invalid
- Closed