<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
exclude XMLSEC and XALAN
</h3>
<span style="margin-bottom: 10px;">
created by <a href="https://community.jboss.org/people/andrew.sc.syd">andrew.sc.syd</a> in <i>JBoss AS 7 Development</i> - <a href="https://community.jboss.org/docs/DOC-48738">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>AS 7.1.1.</p><p>I'm experiencing a version incompatibility between the XMLSEC (Santuario) and XALAN libraries used by Jboss. The error comes at the point where XMLSEC attempts to instatiate an XpathContext object. The XpathContext, in urn, has a private DTMManager which is being created by newInstance(). The newInstance returns an instance of org.apache.xml.dtm.ref.DTMManagerDefault which canot be cast to org.apache.xml.dtm.DTMManager. The XMLSecurityRuntimeException forgets to mention the original cause of ClassCastException. </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>So, I'd rather use my own versions of XMLSEC and XALAN. I saw how JBoss uses it's own version of XMLSEC. It even replaces the version incorporated into the JDK. Here is the snippet from definition of javaee.api</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><table><tbody><tr><td style=";">    </td><td style=";"><module name="org.apache.santuario.xmlsec" export="true"></td></tr><tr><td style=";">        </td><td style=";"><exports></td></tr><tr><td style=";">            </td><td style=";"><include-set></td></tr><tr><td style=";">                </td><td style=";"><path name="javax/xml/crypto"/></td></tr><tr><td style=";">                </td><td style=";"><path name="javax/xml/crypto/dom"/></td></tr><tr><td style=";">                </td><td style=";"><path name="javax/xml/crypto/dsig"/></td></tr><tr><td style=";">                </td><td style=";"><path name="javax/xml/crypto/dsig/dom"/></td></tr><tr><td style=";">                </td><td style=";"><path name="javax/xml/crypto/dsig/keyinfo"/></td></tr><tr><td style=";">                </td><td style=";"><path name="javax/xml/crypto/dsig/spec"/></td></tr><tr><td style=";">            </td><td style=";"></include-set></td></tr><tr><td style=";">        </td><td style=";"><p></exports></p></td></tr><tr><td style=";">    </td><td style=";"></module></td></tr></tbody></table><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span>I read the advice given at </span><a class="jive-link-external-small" href="https://community.jboss.org/message/637818#637818" target="_blank">https://community.jboss.org/message/637818</a></p><p>So, I tried my hand. In jboss-deployment-structure.xml I excluded the XmlSec used by Jboss </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><jboss-deployment-structure></p><p>    <deployment></p><p>        <exclusions>                </p><p>            <module name="org.apache.xalan" />            </p><p>            <module name="org.apache.santuario.xmlsec"/></p><p>        </exclusions></p><p>        <dependencies></p><p>            <module name="javaee.api" ></p><p>                <imports></p><p>                    <exclude-set></p><p>                             <path name="org.apache.santuario.xmlsec"/></p><p>                    </exclude-set></p><p>                </imports></p><p>            </module>                        </p><p>        </dependencies></p><p>    </deployment></p><p></jboss-deployment-structure></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>For some reason, it did not work. I can still see in the stack trace xmlsec.1.5.1 which is the JBoss version</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Regards,</p><p>Andrew</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Comment by <a href="https://community.jboss.org/docs/DOC-48738">going to Community</a></p>
        <p style="margin: 0;">Create a new document in JBoss AS 7 Development at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2225">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>