Open StefanFellinger opened 2 years ago
We welcome contributions from all users. Check the CONTRIBUTING guide in our repository for information on how to submit a PR.
For something like this, consider a configuration property for the SoapDecoder
that allows for Content-Type
propagation, but implement is as disabled
by default. This will enable the feature for those that want it and keep it backward compatible.
In addition to MimeHeaders
propagation javax.xml.bind.Unmarshaller#setAttachmentUnmarshaller
must also be set to properly support SOAP MTOM & XOP. For an example, see this SO answer: https://stackoverflow.com/a/24417032
By sending a soap request to an external service, i've found that the response of that soap call contains the Content-Type "multipart/related; type="application/xop+xml"; boundary=...".
The result is that the soap Message unmarshalling fails with some error "Unexpected content...". I've fixed that by creating a copy of SoapDecoder and propagate the Content-Type of the response to the MessageFactory. After that the Soap Envelope was unmarshalled as expected.
The relevant part that i've changed is:
Would be nice if it's possible to always use the Content-Type from the Response, but i don't know if there are any other pitfalls when doing that in general.
Kind regards,
Stefan