<!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="http://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;">
jbossws-cxf and the spring libs in AS
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/alessio.soldano%40jboss.com">Alessio Soldano</a> in <i>JBoss Microcontainer</i> - <a href="http://community.jboss.org/message/549572#549572">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi,</p><p>the current jbossws-cxf integration allows users to provide their own spring configuration files and have the endpoint(s) specified in there be deployed using the jbossws customizations. One of the reasons for that is allowing cxf users to move their endpoints to jbossws while keeping all their configurations.</p><p>This currently implies having springs libs available in the big-ball-of-mud classloader / DefaultDomain. In the effort of preventing those libs from being visible to every user deployment even having nothing to do with WS, I've been reasoning on possible solutions (besides the obvious one that's removing them and expecting users to provide spring if they actually need to use that mean of configuring CXF).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>One of the things I've tried is moving the "offending" libraries to the jbossws.deployers. Of course that's not enought, so I tried declaring an isolated classloader for the jbossws.deployer by providing a proper jboss-classloading.xml into the deployers/jbossws.deployer/META-INF</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><pre class="jive-pre"><code class="jive-code jive-xml"><span class="jive-xml-tag"><classloading xmlns="urn:jboss:classloading:1.0"
              domain="JBossWSDeployerDomain"
              parent-domain="DefaultDomain"
              export-all="NON_EMPTY"
              import-all="true"></span>
<span class="jive-xml-tag"></classloading></span>
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>After having dealt with various classloading issues basically requiring to have jbossws-cxf integration, spring and cxf jars all together in the isolated classloader (due to to their dependencies/references), I've been able to deploy a test ws endpoint deployment coming with cxf ws-sec declaration through spring configuration file. Problems of course arise once the webapp generated for the ws endpoint by the deployer is first hit, as the classloader for that web app does not see anymore the classes from the jars in the isolated classloader.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>We might probably end up considering completely different approaches to the jbossws-cxf configuration, but I'm wondering if someone here in the mean time has suggestions/idea on how we could keep support for spring configuration for now while limiting the consequences of that (perhaps some tricks with classloading configuration).</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/549572#549572">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Microcontainer at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2114">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>