Fix #425: Exclude org.apache.xalan module for JBoss #426
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.
This pull request excludes the problematic
org.apache.xalanmodule together with the relatedorg.apache.xercesmodule.The Xalan library distributed with JBoss contains following bug:
https://issues.apache.org/jira/browse/XALANJ-2617
This bug has never been fixed in Xalan sources, although there were several attempts to fix it, such as this one:
apache/xalan-j#4
Note that the pull request was done on a fork of original Xalan sources because the original project does not seem to be actively maintained.
Thus, the issue remains open in Wildfly/JBoss and causes problems when UTF-8 characters such as 🙎🏾♂️are used in PowerAuth SOAP responses:
https://issues.redhat.com/browse/WFLY-10166
https://issues.redhat.com/browse/JBEAP-14542
The bug is fixed in the JAXP libraries distributed with the JRE, the JRE contains a complete Xalan library distribution which is more up-to-date.
By excluding the problematic
org.apache.xalanmodule, the JAXP runtime should use the fixed implementation from the JRE which is always available. We could also specify the factory usingjavax.xml.transform.TransformerFactoryascom.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImplinMETA-INF/services, however tests on Wildfly show that excluding the module is enough to resolve the issue and it is a lesser evil to exclude the problematic module than to force a very specific JAXP configuration.The
org.apache.xercesmodule is excluded as well because its latest implementation is also available in the JRE.