<!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;">
Re: Can I modify the HandlerChain at deploy time?
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/asoldano">Alessio Soldano</a> in <i>JBoss Web Services Development</i> - <a href="http://community.jboss.org/message/641283#641283">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><blockquote class="jive-quote"><p>3) Sounds most promising. I have the following questions:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>A. Will this require any changes to jbossws?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></blockquote><p>Besides the bug I need to fix, no.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><blockquote class="jive-quote"><p>B. Will the code I plug in have access to the service implementation class? I will need to pull off the annotations to decide what to do with the handler chain. I don't need access to the actual instance.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></blockquote><p>Well, you can get access to the annotations attached to a given class by looking into the AS7 jandex annotation index. You just need to have your code run in the proper phase / sequence order, iow you'll need to have the annotation index already created and the webservices install processors not run yet (so that the ws deployers already see the metadata that have been modified by you).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><blockquote class="jive-quote"><p>C. Would I need to do anything special, in the situation where the developer has included a webservices.xml for an unrelated purpose?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p></blockquote><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>You'll need to add your handlers to the other the user might have already specified and the other information in the metadata for that descriptor. We can have another discussion about the details of the org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData if you want/need. In the mean time, you can have a look at that in the jbossws-spi project. The handlers stuff lives in WebserviceDescriptionMetaData -> PortComponentMetaData -> UnifiedHandlerChainsMetaData . To get an idea, the code here (processWSDDContribution method) is what will be processing those metadata: <a class="jive-link-external-small" href="http://anonsvn.jboss.org/repos/jbossws/stack/cxf/tags/jbossws-cxf-4.0.0.CR1/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/MetadataBuilder.java">http://anonsvn.jboss.org/repos/jbossws/stack/cxf/tags/jbossws-cxf-4.0.0.CR1/modules/server/src/main/java/org/jboss/wsf/stack/cxf/metadata/MetadataBuilder.java</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Hope this helps :-)</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/641283#641283">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Web Services Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2047">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>